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

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

[复制链接]
发表于 2004-5-10 19:59:28 | 显示全部楼层 |阅读模式
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。
3 u5 X# F; ]) ?' w9 F
, Z  }, [; Z) M5 L  K  [6 a" J4 k% C0 m* Z, `
转自:动态网制作指南 www.knowsky.com
# m7 H( W+ M# B, k4 Q, L. D在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
* H0 H0 i1 d2 @' y' ~
# C. \% ~8 A9 m- Y9 n- h
& w  m  s- X  \! `8 T+ @: m* t' X# ~( I- z/ v" I
使用正确版本的Windows( v, z% F& V0 G8 i  s5 d
% S; j( l' @) [# X+ c5 p
首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。) y2 e( r* g6 v  u
! V1 p! o* r' O. p( u
Apache 2:源码还是二进制?
1 o7 D! T1 O! a4 r如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。
6 U2 R, t7 O; w0 T
8 _2 V* L; k; y) j7 e, X如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。4 C# d$ {# B* N% T& N- h

# [" T0 l2 y) X* w" l2 I" W' Z* E双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。/ e* \0 i  J3 K) u% c$ r

+ M7 @0 S0 D4 F' d4 |图A9 H; g! q0 N/ E4 D5 b; o+ {+ s9 |
' P1 W3 W7 B& ?! W' c* u

8 }9 H& {9 m7 X6 f7 I7 t
/ K9 ]- c- o5 A" u$ R( U转自:动态网制作指南 www.knowsky.com
2 x$ w2 F# u9 ~3 F% d$ h( \8 e9 S- l1 n4 C3 C
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
! k7 b* B4 i. r. j* A8 p! A; [/ k4 r$ u9 K0 D) b4 [

' C* F/ d7 x$ O" d--------------------------------------------------------------------------------4 z% S5 [3 p. j4 W5 k0 d

" ~8 z4 S5 z! H# _, W安装提示, h0 b$ v8 S/ z8 |
建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。
6 B  u* {. T9 A* s0 N
/ C3 @! q# m) N9 |1 n+ c( r3 l& H4 g, K; d  K
--------------------------------------------------------------------------------
( J& J- [8 f+ j2 f: _" `* O! q# `: ?3 r

0 i3 Y8 h8 Q  W. N+ U' {稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。
; R) G0 \2 V0 ^6 ?, h5 k" W7 B7 o9 {8 x6 R, a, X
然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:
1 E. l; o  u3 q5 B " k* `9 P! ~, z) u8 F! N1 o
转自:动态网制作指南 www.knowsky.com
' _- {! b/ q' z* _- Y) P0 ?5 a& o0 a" W
color=#0066ff><html>: r; ?& P6 c6 T' ]2 k" L& H
<head>title=default server page</head>
( E2 w4 i$ `/ C( O  O$ x7 f<body>Default server page</body>& u# E: |" q# A
</html> - A4 t7 a& ~8 v$ r! x8 f

, S) F0 Y; T9 R+ U+ F! j让Apache 2为PHP做好准备  L8 l* W4 X. P4 E

2 m  n1 L& N8 i  j7 m5 S8 {从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。
: G  l1 T$ s6 M4 r. U( _" ^. v5 D  N7 T
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。
! d- m' J- j. ~! D! W- h/ w
1 S# e6 D3 {+ M! j6 V: r- qApache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:/ {; D+ N& W- q( a8 x0 M* g
; u1 g$ n3 v! \3 B% S' S
转自:动态网制作指南 www.knowsky.com' V* z; c5 A& ?+ `# o

% c  c5 _$ Q8 \5 R1 `" W" n& fDirectoryIndex index.html index.html.var # index.php
2 C* `: ?' h( k0 Q
. |! W: t7 i- i3 Q' V为了允许Apache处理PHP页,要删除注释字符(#),变成:
4 U6 U8 Q* `6 P- H7 R
$ v( ?4 ~6 m/ _- X' ?, `1 o3 k* RDirectoryIndex index.html index.html.var index.php! f1 k/ ?" l$ F4 T
  
) K2 ?% v3 ]- N+ }7 \0 H+ b( N. K8 O* e% t' ~; ^( I: q
还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。. {( v5 e9 H  ]4 @; h. U) ?7 f2 k

/ ~3 R# |! V1 r; c安装PHP
: S, c0 g2 [# E
) G% T! u" S6 ]  l4 n$ q0 J
  s. [& R& s% j) F3 a虽然可以下载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手册,它有多种语言的版本可供选择。+ a9 @! r/ o. Y( N
- L: l) I$ D6 J# B

5 l# e9 }1 H9 N5 k( r7 i" ]3 G3 e) C% [  Y
配置Apache 2来运行PHP4+ g7 o5 X- U+ Z

0 b# v. r% S3 ^4 H) e- u- h转自:动态网制作指南 www.knowsky.com
3 U; |# q9 G+ e1 M现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:* `, k5 y- [, u
4 z# o3 k9 M8 k+ }8 X+ T; L# B
AddType application/x-httpd-php .php: j. e; M. ~' q) }2 v) g

- V. G* `1 o( @; ~, z6 {将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。
. |) ~% N# k. r& p  }5 |
3 x4 d+ r' a( {+ ]doc_root = c:\apache\apache2\htdocs( f* v" Z) x3 [* ~, B
extension_dir = c:\php\extensions
: _! P7 O* O  E/ o- L: bsession.save_path = c:/temp/ n: W! X1 ?' L8 l* K: q6 Q4 l

% I- ?; R" g7 M" r9 Z4 w在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。
% p% {/ @, f, k8 f$ J  `
% S3 j0 x8 _: w& L. k- I  [下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: % N6 i0 V" U( ^9 n( k

8 a1 J) K* J1 V6 _( iLoadModule php4_module “c:/php/php4apache2.dll”
' ?) ?! x0 V" B( ]5 c( P
, q: i8 O# Q3 D如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:8 \; l/ V, _) i: |

1 ^  ^  t. s1 X$ F9 X) }% _- N5 k9 rScriptAlias /php/ "c:/php/"
( r5 d5 _: O" F+ x; _Action application/x-httpd-php "/php/php.exe", X) f; ~4 l$ e  z

1 r3 b3 r# e9 ^1 c  x一切都搞定了吗?
, {2 Q: n; C6 X6 q  u+ y
% e, O+ D$ Q8 N6 ?1 \) R4 X' q转自:动态网制作指南 www.knowsky.com5 o  x8 o1 e3 d% s5 Y* x9 @

2 P1 y5 D  b1 B; M1 Z保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?
2 j: g# }8 m( R' A! B, F4 `. F9 [8 v' A* ?* s0 M
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:
( X% k6 m! p5 `& s4 b
+ f, T3 G% r+ ?& |# f7 Vapache –k start  Y! ^% ~% ^1 i) P
- ?0 T; [0 B, j$ }# y$ q
另外,如果Apache正在运行,可用以下命令重新启动它:
; f" e8 d3 B% y: @
8 J$ O( M, k, {$ c9 Iapache –k restart
2 L' y+ Q+ Z. R& b+ @9 r2 n
( w6 V8 \. p  k从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
( }* o$ R. e. S$ H
# Y5 `9 e1 B+ s$ v) Z要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
$ `$ t* B& ]& I. s8 \- s . h/ t. b  t. U
<? phpinfo(); ?>" V, X4 h5 X, z* ?
3 z& W) `9 @9 k% u5 q6 A/ G
将文件保存到主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。$ H! q% _" F& ]- \8 H) s3 q

) `) L  x3 q3 t( U. i" [0 P虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。
$ T9 r1 Z6 ?1 r5 |! `* o0 b# |& h! `) @* H8 `  Y9 Q
(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-15 05:04 , Processed in 0.018220 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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