找回密码
 注册
查看: 5154|回复: 0

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

[复制链接]
发表于 2004-5-10 19:59:28 | 显示全部楼层 |阅读模式
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。. e; V9 L5 f0 m" _( j
+ u" [8 y% a% i" p
! n: y2 [/ T8 A+ m; ~
转自:动态网制作指南 www.knowsky.com2 d* m  }$ x9 k9 a0 C( [
在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
+ m0 J+ s& ^+ v% x
! d( J/ s6 @, S6 L/ v : d1 g$ D, J& R- n
2 o6 g; {' G" X2 ]8 l* L9 C: e
使用正确版本的Windows
6 K! `$ B- }4 v8 C  @& c5 @% j  N1 A: @- F: p/ a9 \% ]& r: Z5 T
首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
0 E# ^2 P9 c2 j- x/ d+ M3 d$ h- J8 [5 J' c" m" w. D, f
Apache 2:源码还是二进制?8 O( D( l' y$ G" f- H5 j
如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。. R2 R& P' B( w2 P( \  I: ?$ j

3 W+ Z' C5 k( D! I如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。% M/ {0 \0 f, ]4 v9 L

3 L/ b5 |0 s; w" m, a9 ?  V9 r. d双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。
9 F8 }( E# i( t+ w! J) M% f
7 F1 j- S  F& \# v; }, H! M- M$ c图A
* ~; r/ T' K3 }& X1 f8 F! J- ^8 k- ~& X4 T) I6 ~8 c2 L
- Y, d; G5 _7 G1 x# Y+ Z  U

- x6 ^$ W' X6 q: [7 G转自:动态网制作指南 www.knowsky.com
+ f6 I( O7 Z6 H3 U7 o: g9 `" i) c
8 G) ?* z3 V+ H4 B正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
" `3 c% G# j( N9 [
, q$ T( o0 H* a# }& Y7 V  n! }5 q3 G' v4 \
--------------------------------------------------------------------------------# y/ @! K# I5 E4 b

; r; k$ n/ d( _) o; p- h安装提示( L- W2 J& J( M: R/ r
建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。8 y6 h% y0 s1 Z+ n

2 `2 u! y3 C& I- h; b
5 E5 L9 \9 \$ V--------------------------------------------------------------------------------
+ ^4 M: Z) e9 z. S! x7 ^. k1 {! B2 N

( G6 Z% m# t9 t- R稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。
; Q3 o( M4 g& B4 u2 i+ {/ ]; ?& X" k8 G8 F, q9 x0 I: u3 w
然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:# `- g6 ~% m7 i! }7 ]

0 K# A0 o9 p$ w  z转自:动态网制作指南 www.knowsky.com
! s8 b1 {* l- Y$ j- e; c" K3 a' o5 x& A1 @/ l
color=#0066ff><html>
2 Y/ S4 s/ Y& w# I$ I  p5 N) R3 _<head>title=default server page</head>' Z# f; q4 h  a: Q% q1 T
<body>Default server page</body>( o% Y7 T, J) g. d" ^' s+ |: x
</html>
- G( ^" l: O$ V: B! m6 q! H' y2 Q0 }& Z. t
让Apache 2为PHP做好准备" R$ q  N+ a1 I. g

) ~  G& r) i$ e$ ~从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。
' U. x* |( x* Q( L2 k$ i9 ^0 ]7 c1 b4 ?5 e$ |$ r6 T" G0 f
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。" F1 i5 L$ q: B: F) l% S

" Z& x+ }6 W/ m* mApache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
8 q3 z4 F7 a9 H" m4 ]+ W. l, n: ]3 T1 O0 D
转自:动态网制作指南 www.knowsky.com
. H2 t5 o# w% o7 K2 q 8 t) V4 ^) F6 C3 w8 l" r6 P
DirectoryIndex index.html index.html.var # index.php
5 f3 v4 |6 @) G 3 k4 C3 W5 N  o5 \' K
为了允许Apache处理PHP页,要删除注释字符(#),变成:9 a0 V) q) Y1 h5 x3 f
' a; }/ @; S. T6 t% L, p  L
DirectoryIndex index.html index.html.var index.php  U8 h+ j; N  |. c* T. S: A7 i( T
  
6 C" F; O: W3 H" u* f# f, K) ^* v" L5 v) X+ P3 ^# v
还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。
# c' k: S2 e  l! a# Q+ t( a) j+ i  w* J
安装PHP3 E% }  V" w2 h! W$ h+ c7 s
* a1 _/ [% i' w" s9 {' O9 d  v9 Q
! d: s3 B8 x- A; T' e" x1 p' {
虽然可以下载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手册,它有多种语言的版本可供选择。! I1 o: U5 N4 u9 w5 x1 q& _- v

- y" P( m; \' X. |* c+ d 3 [% `: R) O. S1 o1 @
" ]+ Q% Z7 L3 b
配置Apache 2来运行PHP4
, y; X8 i! c3 j* k
$ Q: D5 I+ |+ \% Z- J& C转自:动态网制作指南 www.knowsky.com, }! D3 x6 }8 b8 Y6 o9 C
现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:) J3 A3 X5 r- [% t5 q, @7 k
9 n# C; B) |+ E
AddType application/x-httpd-php .php
' h7 R$ q% Q! ?2 C2 d3 o$ Y - ]" G7 k+ W6 O" }3 K
将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。/ U6 Q0 C- i9 k# s" w8 A7 a

& V4 Z% D$ S1 Edoc_root = c:\apache\apache2\htdocs
6 K. d; ?- Z7 z1 textension_dir = c:\php\extensions
) I* v8 [7 G! s3 ]# csession.save_path = c:/temp4 j4 a7 s3 @; b8 M/ _3 `0 B

- l  q- E; W( a1 L0 Q/ C7 o在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。
2 U- V2 m% v5 s, x/ K
3 E0 a5 h3 j3 v9 N下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: 1 @, s* e* O" w6 ^' g$ e, P. Q! D* O2 }$ k

  S' B4 f1 a: T4 e& F( \LoadModule php4_module “c:/php/php4apache2.dll”
  H! y; J* _) F / s0 w' T8 X" ^5 H
如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:
- [/ G$ C; H$ i/ s. j
' I: J/ `( o& Y$ E4 m* kScriptAlias /php/ "c:/php/"- J+ Q0 v, t/ z: H  d
Action application/x-httpd-php "/php/php.exe"
+ e" @2 z, N% d. T, f) m
8 {- K2 p0 o' a$ Y! }: j5 Y. k; `一切都搞定了吗?. L4 t+ [1 ]6 `+ F3 U4 ]

+ ~5 F+ x$ ]# O% h转自:动态网制作指南 www.knowsky.com  t) x0 M$ d+ I: M% d# g
* g) X! B4 R' Q
保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?
: o+ e, Y" t5 i* o. D1 I. u
& x8 @& k1 Y/ K# @0 F- P) k1 M- a+ c9 q要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:
0 Y$ E9 _4 T' Q9 o 8 f: K5 ]0 [& X9 X1 M9 I
apache –k start
+ a, d" d- r, ^( ]
. ~! V4 C! E% E$ P另外,如果Apache正在运行,可用以下命令重新启动它:+ ]0 [  u( G4 V1 [9 O* m( Q) \

1 b1 S" R7 M3 [5 mapache –k restart
% n8 _: }0 t8 s* r
# I/ M: q/ g) W2 D( U2 Q( \2 R从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
% z+ c, e; n1 z0 x+ g0 B* ]5 N! ?. T
要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:0 Q9 M5 X3 b" M$ ]  P' `+ u& C. V( f

  U6 d* t' h. K9 @5 s  j$ `<? phpinfo(); ?>
% ^9 X6 r6 l. n7 }+ N , d) p) r+ b) P% p6 w/ q
将文件保存到主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。
: K/ [& p* n. w+ `
3 X* F$ G: s, r. J+ ?2 k3 _虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。$ d, n& I/ j" Q, V& S0 ~3 E

) d3 A+ a6 G  }. j" w/ i% L(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-10-2 08:42 , Processed in 0.018205 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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