找回密码
 注册
搜索
查看: 4726|回复: 0

转贴:在Windows中安装Apache2和PHP4的权威指南

[复制链接]
发表于 2004-5-10 19:59:28 | 显示全部楼层 |阅读模式
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。
7 C: i& g! c  S. `' m1 S
8 T& y" s& `& [6 p; y' f1 @2 K/ {6 `) ]% [$ \/ a
转自:动态网制作指南 www.knowsky.com& `, H+ y6 t" b+ S7 R
在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
7 n; I; ^1 C- @% y0 Y
/ L3 ^& H" ?. d- P1 R1 ?
' R2 ^2 G1 J+ k0 m1 d8 y/ f# I+ Y& M
* L0 t. M7 \' h, Q, r' y9 Q使用正确版本的Windows
7 Y6 K2 t- X, a: d' i. ^9 b, f6 t8 p5 J0 @1 ^0 [% K
首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
3 L  ]7 P3 B" v6 p" c" j0 b+ J7 F5 Z# V& q+ f3 E; y
Apache 2:源码还是二进制?& `* B6 ]$ Z. Q" B/ c: {: c8 k( T8 h
如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。, f7 P4 `$ X1 j9 ^
: V1 F* ~1 a( X
如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。
& q. B# o3 v* w+ ], R6 Y
! q3 u  g+ P  F7 F3 ?$ p5 m' G双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。
$ w; ^1 i5 G) T9 o) N+ A, }2 o
图A( O$ b5 g1 f1 }4 w4 I' u
4 ~. j8 q1 J+ Z8 d
5 E# M3 T1 _. u. ~

8 C! W& }8 z6 j转自:动态网制作指南 www.knowsky.com. N% d0 v7 F: I  g8 @4 Z, p

- r8 [' T/ G6 k" P& W' `正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
. Z7 ]  v. y2 N- Z9 L# _1 d
" q4 E$ n4 f& \- ?1 `
& i0 j1 Z9 g4 y, n; Y--------------------------------------------------------------------------------
+ A+ B9 R- c4 \  Y: ]2 y
' X' J2 _3 b- ?. R9 a. W安装提示
9 U! w5 d! G7 w& s建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。
0 J; k& \4 T1 D( z+ p3 T) s7 W$ s5 T5 A
/ f1 G  n' K% k: q! }
--------------------------------------------------------------------------------
4 h# F2 A  K3 F# V
% U5 D( p4 y1 l+ u% j# K
- k- E( U2 N- y  w稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。
1 @3 O+ F5 O7 M; D3 M( {+ ?7 u
* O1 a) a5 [% A0 f' E" T, z0 B然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:6 x% A! j! @& {: k% g
) b3 m# _9 _5 B( |* ?5 V
转自:动态网制作指南 www.knowsky.com
6 ~" I4 S# E; K+ j! _$ S) m, p. R, y  y( {6 E5 x# ~8 Z( {. j
color=#0066ff><html>7 k3 h3 n8 k7 c
<head>title=default server page</head>& g& o4 g0 t4 x  J6 U7 T
<body>Default server page</body>7 Q: ~  _/ P( E4 N4 A
</html>
  O, L( ~- s& b5 b
+ m$ G3 E( I7 I% C- v让Apache 2为PHP做好准备0 l8 d3 b" @4 d7 L  G% `7 u
" l' w+ P/ Y0 W* O- e# c
从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。6 K0 l( r6 F" U$ h& Z
- G$ a; [1 [( g  J  I' K/ C
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。
8 O# H% n! y8 Q* |( p) k$ [; Z2 r4 p
Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
6 x5 Z9 [) S$ j8 a
: Q( E$ m. O4 W转自:动态网制作指南 www.knowsky.com
7 O4 [; M: ^3 z
" ?( s1 j  s6 o7 n( zDirectoryIndex index.html index.html.var # index.php  L' H! c$ ]) f& h9 E7 Q
3 o7 h( N1 O0 A
为了允许Apache处理PHP页,要删除注释字符(#),变成:9 {2 q& K9 P0 N5 a

  `# A: I* A- I. l, Z# BDirectoryIndex index.html index.html.var index.php: u9 t6 N) D) J: _$ i$ q# V
  4 q6 E7 p5 `3 P4 o5 f* Q2 C8 l* f
$ j/ Z2 e. A5 Q
还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。; W4 K1 D+ G* r: U# r8 k

7 n, K- B1 L9 @4 Z安装PHP
% J4 H5 y' w0 f0 J" p4 f) O; L3 m: V# V/ G
# k' K& {) v& L/ m2 G
虽然可以下载PHP的源码,但和Apache 2一样,最好直接使用二进制发行包。Apache 2可采取2种方式来运行PHP程序:通过一个CGI接口来运行(外部调用Php.exe),或者使用PHP的DLL文件在Apache的内部运行。后一种方式的速度较快。所以,针对每个版本的PHP,都会提供2个Windows二进制发行包。较小的是.msi包,它会安装CGI可执行程序Php.exe,但其中拿掉了通过Apache DLL来运行PHP脚本所需的模块。较大的.zip包则包含了所有这些东西,你可以从snaps.php.net网站的Win32区域下载它们。文件下载完毕后,把它解压到C:\Php(保留文件夹名称)。除非你有绝对的把握,请同时下载PHP手册,它有多种语言的版本可供选择。  o. j! q! d3 p& `
5 x# k4 j0 h0 E

% ?' A+ U8 P4 Q, ]3 ^5 d
4 M  u" R' u0 F7 p  P. E+ {% g配置Apache 2来运行PHP4
) c- q$ y5 o+ P1 W; j) J* M
* V% B, p" z% [1 U# t转自:动态网制作指南 www.knowsky.com9 `8 @/ K" I  c1 t, j' ]4 c
现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:/ Q! C' c+ S3 ~% b3 u7 P
8 K" m% i& M2 K; s6 K( D
AddType application/x-httpd-php .php7 C* z* ?/ ~  z/ F+ a- T
4 O* X+ H0 G! W& M9 V" }
将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。8 D2 i8 z" I! J0 B
$ i/ g" O6 I" y8 V2 o+ {0 c
doc_root = c:\apache\apache2\htdocs. ?# N' V8 s5 v$ b
extension_dir = c:\php\extensions+ R. F  W) z& |- ?# t* L) K2 N
session.save_path = c:/temp7 k5 G( h# h7 ]9 T) B4 s0 Q; m7 ]

6 ~3 B2 o' t2 D4 m在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。
# |( z2 i* K1 l  A0 ^  f6 m. a5 O* J" G( b1 [4 j# F; K
下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: 3 s4 a2 ]7 N0 I5 ~
; R3 F1 N9 h- o4 ^
LoadModule php4_module “c:/php/php4apache2.dll”+ ?2 q/ ^7 F* S) L

; I; _% b% p5 `3 y, h如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:& x# Y$ y$ e: i: C+ o# h, ^

9 R. {7 R% B0 w5 w5 v/ p4 X) MScriptAlias /php/ "c:/php/"3 B1 Z* h) M' e! w
Action application/x-httpd-php "/php/php.exe"( G  j+ K. e2 v9 N/ S, c

) W: b1 U* ^) N3 |  a& P一切都搞定了吗?+ z" I" b4 i3 T5 Y7 M$ Z0 O! f

% J8 q8 S9 ], S转自:动态网制作指南 www.knowsky.com
/ q( H9 }7 S6 y  X- k+ V% T/ N7 b" T9 B1 `0 J8 X  M
保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?
& M7 c2 a% h5 h; l# ~
1 D; x& b+ p2 A, c  z& t要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:
$ c8 r+ `5 x5 j* d6 w- O5 M
" `, F9 x( z1 u- X- Qapache –k start
" a3 j; [' n6 J5 V0 `+ k  U 1 |. i* n1 e& T+ @
另外,如果Apache正在运行,可用以下命令重新启动它:7 I3 s8 }/ N9 b/ U

- T5 U9 y5 Z& u  V- T( zapache –k restart
( q& ?+ ], Y" D, x" a
: l5 u( J/ p+ l; g从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
$ v* q* }; }; k1 y) S
- f( c# x. w. N( ?要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
4 m8 T) h/ r6 ]
2 V9 e. l3 @1 f% g9 k, j5 J2 N( S<? phpinfo(); ?>* H) R2 Q5 Q0 l  E! n4 X2 B/ n" y; ~

6 l# }* j+ D* _" G& z" E/ k将文件保存到主Web服务器目录(C:\InstallDirectory\Apache\Apache2\Htdocs),用浏览器访问http://localhost/phptest.php。如果一切正常,应该看到一个含有PHP徽标的网页,其中包含大量设置和其他信息。要知道PHP当前是通过CGI来运行,还是在Apache内部运行,可以检查一下环境变量orig_script_name。如果PHP通过CGI来运行,这个变量的值就是/Php/Php.exe。如果Apache将PHP脚本作为模块来运行,该变量的值应该是/Phptest.php。
! N2 h8 c5 ~# U, P" u( W8 ~1 _& [% z
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。9 o6 P0 t2 P+ [+ `! J- G

$ w$ `  t) ~/ D, ]  @& r(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-9-30 09:07 , Processed in 0.040288 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表