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

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

[复制链接]
发表于 2004-5-10 19:59:28 | 显示全部楼层 |阅读模式
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。
6 A/ {; f6 v7 ]) @$ N: `
$ c3 a& {4 S5 h1 d! S( L  _& Y* W7 Q+ a8 I, G
转自:动态网制作指南 www.knowsky.com
" I$ |. q- A( _+ I6 T3 f在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
5 Z- L3 F. x* H  A% _4 y
* R6 r& o2 z' P* _+ t: Z
0 q' W: B' m, X6 Z& |4 y1 ?
# @+ U! \! `# i3 I$ j  g使用正确版本的Windows8 ~0 w$ F; q$ k3 `* \; E5 w7 A

: F2 j4 [8 J- v8 E3 D首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
5 j+ m% z1 U7 S" I# C
) `1 Y  r# r& y" T; gApache 2:源码还是二进制?
( N/ x% Z# r' _  M2 C如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。; z* e! K) Y6 |- z. H3 b; r

  \8 {: k9 G: c; f# u. {! s. ]" a5 F如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。
* [* t. N# I( K, d" V6 N
0 |+ Y, ~/ P7 j2 {% _双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。0 K. ]- [8 v& L' K
/ n/ f% W' w4 a# E" c4 Y1 c4 J7 N
图A
1 d9 \9 d& C/ ^
% e/ y' a0 K$ q/ G8 Y; F# G
6 J, k! [  `. Q5 C$ F* N) F
9 w( I9 V, e6 A" |% S$ a4 M2 [% N1 j转自:动态网制作指南 www.knowsky.com4 h) i( @' B+ ?6 y* Y7 Z
( U7 {+ R; j1 Z% G1 u1 j2 w6 y
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
, j$ y8 E1 X+ p" d( S: a& a) W3 Z9 v4 \- O- z. I) m& }3 M
" H& X' c( j& D8 V7 U
--------------------------------------------------------------------------------9 `7 w" H) r) s! T0 v
# K; }+ i  n6 k  [7 g* I! B
安装提示" L# W3 D1 D8 q# O
建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。& c) n* e; Y( u0 Q8 n% h

. W- p( O8 o' B) y, E/ ~/ {+ g8 }3 P0 I! v
--------------------------------------------------------------------------------
) ?$ i6 g7 e: B$ G( i2 D, ~/ ?
5 q; g5 M. R5 }' s. |: |
3 K% \! r8 N) _9 i稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。
. t7 G6 d/ T5 Q; M7 [. w/ _8 U" q' R  a( L% P5 l
然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:8 {) f+ d2 y* @& ^! D- g- t! i
5 @8 b) J7 O$ w
转自:动态网制作指南 www.knowsky.com % s$ m" x7 {7 B8 S4 T+ _" |

1 g6 w8 q0 g$ C9 X1 R* v! J3 \) {color=#0066ff><html>/ v  g5 Q  n% t( T) i0 M# g
<head>title=default server page</head>
* v  L9 F0 M; L# v<body>Default server page</body>
/ V3 K3 v2 `/ G2 p' D* H</html> 7 G8 }5 ], g4 i9 M) z' R, n
( b6 V$ X7 y# O; c/ _$ i8 Y: q
让Apache 2为PHP做好准备
& p+ b' u. |, ]8 a5 M; N( V' d" T- u* N% J5 D' t# P6 t/ W
从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。. A# k: n9 f( y7 z( E3 }, N
1 t1 j5 w; c0 d8 s# h/ I' \
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。
0 `  E7 c+ U: e
- a% m8 q4 s- K  T6 i4 o% _- T' sApache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
, [; L) i3 s8 j, q% d. Q8 v
. w' {8 _3 H5 L& p  f" V转自:动态网制作指南 www.knowsky.com
6 g1 b8 `' |8 y) R& k% p) [
0 j, I* n4 z5 [1 BDirectoryIndex index.html index.html.var # index.php
, j" k$ g! S$ P 5 z' i6 y: ^1 T9 q" O- q0 l
为了允许Apache处理PHP页,要删除注释字符(#),变成:
5 r# A1 R1 v! K$ O5 U* F7 n
6 S7 l6 M; S. E5 O5 {DirectoryIndex index.html index.html.var index.php
" K2 x; E4 X5 C5 U2 W9 n6 ?  . K3 u. v1 t6 g  b- R. ?

' l4 G1 O$ j$ K* C还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。
( ^% q; A3 n6 |: c* g7 [0 K. h6 i% w8 U1 K; H4 d
安装PHP0 c" m1 f- ^+ ]& C

  p! m4 s. y% i* H2 A: U) d/ y' F5 m( E. D+ t
虽然可以下载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手册,它有多种语言的版本可供选择。' c2 S8 Q" F2 D4 W- @
6 o7 K5 j% S8 q3 p, E
: C. P1 H) S1 Z& \1 m8 D
) C$ F* U* S# w. i5 T
配置Apache 2来运行PHP4% w3 `9 g6 h8 K7 x

$ F9 z. _8 e5 A- }; K转自:动态网制作指南 www.knowsky.com* P8 i+ S! z6 ]# A/ l2 g( n7 ]
现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:$ f. Z/ r" v# H+ m0 A  Z" h8 F( X
+ I; L) G; G7 E- K9 b
AddType application/x-httpd-php .php, q* T, G' T( o: O1 ?9 C
. a7 w; c1 U$ _% t: w( I/ H
将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。  X( Y' O4 s% |1 ~8 M

; j6 X4 x# {: h! l0 u4 Xdoc_root = c:\apache\apache2\htdocs/ N. Z! K6 S, a4 n/ ?
extension_dir = c:\php\extensions6 s$ v: F7 e, T4 C" z
session.save_path = c:/temp
+ w4 p; P  ]" B0 T
+ t8 r4 l1 b5 o2 ]在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。
, r6 e0 E+ c& ]; }5 _* ?5 S
9 g* o& M! I: y; N9 b下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行:
: S, o2 m  f0 ]+ ^5 v( T4 Q# L# i$ g8 I( [3 K2 s
LoadModule php4_module “c:/php/php4apache2.dll”
& c+ y: k+ O0 j! M5 I/ m
2 R9 J2 G7 z! S  B0 k如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:
: j' J1 j$ @& g: d ( T0 E4 C3 }. F3 ?
ScriptAlias /php/ "c:/php/"4 O/ U4 l7 G$ z! D& o* B
Action application/x-httpd-php "/php/php.exe") g+ F2 `1 N5 t, p% |
1 E3 n% [! |3 b
一切都搞定了吗?
& ^% @2 P+ T. Y. F  l
$ P. e* D2 C* e+ z转自:动态网制作指南 www.knowsky.com
$ e3 H2 H& M$ j2 H; C* S7 Z
$ B5 w% I8 W1 {; h1 X保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?
1 {% B/ t0 i2 G9 e4 i$ b0 p- Y% c5 W' n4 S/ @
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:5 A/ v+ L  w* z+ f
4 X" Q' E) M. p" B3 M' z1 v
apache –k start
, \1 u& p( J: y4 C , u, a/ u/ w  W0 w9 U# i
另外,如果Apache正在运行,可用以下命令重新启动它:  F7 K. d5 M" [, _; o# T9 P- a

$ w/ C5 c) d$ y! japache –k restart
- x" J( t6 m, W; z7 R1 P  w- | ) K1 m# I9 U$ |; \; i
从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。8 O$ T. X5 ^1 M% z8 L
5 Y" `7 H8 e/ K  \
要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
2 f4 N6 V* [5 y4 l5 G+ V
) p8 v$ o4 {0 B+ ]4 e0 S. ]<? phpinfo(); ?>
8 Z7 q8 P0 N/ f% _% f$ L* S( ~
3 [: S2 `) m1 W- L# Z, b将文件保存到主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。7 Y& |  Y/ N' b  v! S; O1 V
) a3 N9 X! L6 h
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。# u% _# ~0 \3 Y
0 n( y) m) _2 @+ P
(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-18 08:54 , Processed in 0.020836 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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