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

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

[复制链接]
发表于 2004-5-10 19:59:28 | 显示全部楼层 |阅读模式
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。/ x/ ~" w* p* c  q0 G

1 I5 w. B, s# t( Y& a. R, P( l" [5 A% F$ a
转自:动态网制作指南 www.knowsky.com
/ y( O4 ?9 b( D) N  d2 F- j7 W在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
+ Y! F7 @, z' E4 W7 i8 O. h6 R  p2 G
# P6 H; |3 R; {$ O0 {$ i. ]+ k+ \ 3 Z/ F$ s. S+ b" W! b

4 w# ?& t8 _6 _$ A9 [9 q8 J2 I使用正确版本的Windows( h6 X9 i% h$ {) e+ b5 ^: d

6 f, i4 C, U6 e8 E首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
6 ]6 }( ?7 p. ~% Y9 ^, b6 R
$ i7 S2 f/ y% E" vApache 2:源码还是二进制?* q2 E' |0 |( j6 |# s; n' o, i
如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。
7 R- O# x) ?- A" S- g7 S$ ^7 A
9 r: f, |1 o1 y* }$ U如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。
9 Y, p5 F" O% d/ N0 h1 [$ W  S/ m- L& w* r
双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。" F/ t9 e3 @2 X/ A$ D( f. x# \3 p
! ?  M* {  N+ F9 j" f
图A" z5 @( [0 j7 _, g5 H/ l8 s
+ c% l8 `7 X3 e! `5 O2 D
/ z7 [+ Z1 F  ^/ N4 Z+ R
2 n  i% u' t+ A& w) o! V' o: f
转自:动态网制作指南 www.knowsky.com6 q$ R7 I( n. t( p: J
5 I; ]* P8 j$ F9 K
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
, i& W3 Y; }! X0 ?; I& ?
1 m! I8 U+ u- }" d  \( P+ E/ Z2 g0 S& `# E( Z) o  J; x
--------------------------------------------------------------------------------$ H/ ]/ [' J0 s; {) e: f. _
6 W- p1 q& `% w$ n: `: W- H; \5 T
安装提示8 ?, E/ U+ K- d2 t& i4 L
建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。! M" U* q5 x, G0 O" b: I) B' W5 e
. @$ U% x+ P0 N0 o# G
) j- ]$ J: u7 K0 B+ o2 |+ U( M+ `) V
--------------------------------------------------------------------------------
/ Z& ^- M8 m7 {+ t# M  A  s. x* e2 v) |7 z7 S' N5 C
/ p% q# p8 x' w9 o$ U8 b- n! B
稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。% v; B9 o' F  |2 o* A

9 C$ B' j3 w5 F2 `* N; k2 K然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:  u8 `7 |* y8 y* b2 e' o

! g( Y- J) {) T! e- V转自:动态网制作指南 www.knowsky.com
8 P5 V* V/ M1 M8 X( w& S2 c
2 L/ K5 E" i) H; o8 Ocolor=#0066ff><html>! X! p+ f1 ?- j4 P$ ?$ J
<head>title=default server page</head>1 l( x% O4 k2 z: Z
<body>Default server page</body>
- Z' N3 a  P2 Y6 S7 }</html> . l9 O3 [1 z2 V: F6 I/ [7 _

% I& ?+ \& m$ M  c4 ]让Apache 2为PHP做好准备
/ c) Q+ U, ^! Z' J1 q( M: y$ P# S+ D4 \1 }0 G
从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。
+ `8 B6 S4 ?- p: W* j8 i
" \0 {$ y% d3 p7 A' k# [" x令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。
) U% p' `8 R2 j7 W1 H' K$ v- M; y/ X: a' v8 f9 n, r1 h3 D: K: I7 x
Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
1 @" ?; `$ q. C0 \' o8 a9 j" ]  L0 t7 G: h0 v) c
转自:动态网制作指南 www.knowsky.com9 k# g- i; ~  j/ d0 N
& D8 g7 j) B4 ~2 K
DirectoryIndex index.html index.html.var # index.php
6 ^- M0 k3 e1 u9 {, _& q/ Y 1 m6 E& Z1 N1 t4 o2 Q& S+ I0 r
为了允许Apache处理PHP页,要删除注释字符(#),变成:+ v) E, p% f+ I( X+ S& m2 P! Q
$ ~9 a* C% ?% z. L
DirectoryIndex index.html index.html.var index.php" {- n' L+ R4 N
  
7 p& O! a; z( {  z0 p
4 t7 [  p2 `! F2 V+ [6 x" J9 ]还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。
; g) G3 A- p' Y* z3 ?5 H9 k5 ^: |& }: {# E! Z# {; T$ d6 x5 B7 O
安装PHP7 i# g; t! w0 E" P3 X7 d
( t$ V; N  T0 T. @- E

" G* j9 r' Y! }/ ]! W& Y- y虽然可以下载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手册,它有多种语言的版本可供选择。
0 y% J0 G7 U9 W: n+ `* \* V) _7 B# s2 O, p4 Q; L( ~

9 n9 k1 U+ C1 P# J
& f& @5 A& T* O# w# t配置Apache 2来运行PHP45 D+ \6 A- `( v" E" `

# T# K  n0 W1 R. Y* k8 s转自:动态网制作指南 www.knowsky.com5 G( \3 W+ l& |$ p8 {% F
现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:1 D3 @2 a9 m& W$ d4 w7 c; N

) b4 \; B% x# S8 p  s. yAddType application/x-httpd-php .php
6 c; b$ [0 Z, J: c & K6 W8 K7 y9 W; F* N4 |
将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。
8 u$ ?% g! X% X/ p" d) P 1 q$ c/ r1 @; r6 ~$ [: {4 n
doc_root = c:\apache\apache2\htdocs
9 t/ r( P7 Z' v, }# Eextension_dir = c:\php\extensions
( K, S3 g- m" C3 S( ysession.save_path = c:/temp0 p; @6 n" n  S- @& A2 m# W

7 K; `6 B' D) f# A在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。
: L* J1 v' ^. X+ G9 i
; r3 {8 R9 M& R8 `/ ]' R) I: t5 f+ G5 i4 v下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: 6 E) `1 u9 a: N. {. y7 q
9 {$ o2 p6 v% Z' h
LoadModule php4_module “c:/php/php4apache2.dll”
& W$ M$ J- f; w; o6 |, }0 N* }
# N. h; \6 W" ?) t如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:
& W9 |2 L& @) W3 |! E ; t/ K8 K5 K% K3 b7 `2 |: A- N
ScriptAlias /php/ "c:/php/"
- V9 t, C4 Y2 ?Action application/x-httpd-php "/php/php.exe", C' D: {% b) F2 ^

: P# A9 `  a, P% Z3 h( A2 m一切都搞定了吗?9 J' W: W( T& |2 V

/ ]/ |6 z# C2 m& G转自:动态网制作指南 www.knowsky.com3 X$ s  b8 [4 u

) q3 M) R7 h3 A1 e保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?% T  Q! Q9 J3 l1 x* s

- D+ p0 u* z% c" M  O  s要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:
# G0 i- Q' {3 F) I( N1 m! ]& Z
) I( o" i% O3 _1 H) Z- C% Vapache –k start( z5 v; T+ N$ F

+ Z* a0 s* p- k7 |( C8 m) j另外,如果Apache正在运行,可用以下命令重新启动它:
8 ^0 p  ~- ?, N' C
) Z; K& G8 s; ]" {% ?apache –k restart
' v' @" V+ k$ W; r  ^" H
0 h' c0 d, L- B1 H. _* k7 W从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。0 \4 H" R8 S& y

/ _$ B, ]5 ^8 C0 h要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
& x4 C3 k* x+ g8 ~$ `# O: E
$ h) w9 |+ A+ o  h$ w<? phpinfo(); ?>/ E1 A& D0 T+ ^9 j

9 _) p& e: J7 l, G/ 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。
8 `( J8 h- U4 ^! R: |* a: S; N; `  D
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。- H. o8 ^) L! Z
& D5 s( D8 @2 U! T' g3 C2 h8 Z
(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-10-1 22:05 , Processed in 0.018660 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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