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

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

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

. t; n1 `  N+ Q- P+ W1 _! O( Z
/ ]$ F. W" b, f2 m2 b2 h转自:动态网制作指南 www.knowsky.com' ]$ F2 C' [2 t- Y
在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。  D+ s% A7 C- T

- r+ \/ b. ^3 T1 Q1 ~# b
9 L0 C/ U2 Q, e8 r2 q5 P. P3 o
使用正确版本的Windows
  J5 d6 P+ ^1 B! f, p5 X
1 Z- }; d7 ~) x: F/ N首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
: x  @& p6 n* y* S; D8 z& J( Q7 k* y% `( _! z
Apache 2:源码还是二进制?& p$ B$ m' _! j& r
如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。7 c1 u! s3 u; s
" Q4 b" r0 ]6 ]2 o( `$ k
如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。. t+ e" S* Q: h# T- B% @% l

# Y  Y/ B- O6 G" j5 m7 I双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。
. R$ k+ z( ]! u8 F! X. {0 u( J" b" L" ]$ m2 V
图A
# ~  M% Z# j+ C7 ?7 z2 e% J. Q' P( D( X% f" K# P6 O  q2 p

+ ~6 W3 S: `3 S6 g3 X2 Q( ~% |9 U" `4 U2 |+ {- S
转自:动态网制作指南 www.knowsky.com
  X# r/ ]9 v" i3 P. w- E  u3 |" b6 j1 f
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
0 L- B$ S1 _% f0 i" M- J1 f  o. v& E
6 l. [+ D# R* S& C) U+ s
--------------------------------------------------------------------------------+ w1 S3 u- B+ ~6 c5 B, A8 R

; d8 Z: _# W8 E安装提示3 e* {/ E( {) _: ^: o2 Z$ b' @* J
建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。, ]1 q8 I9 M. T& j' L$ y9 W
3 Q( ^1 ^1 u: x: p9 g$ O4 }# H

2 e+ h# G# U4 _% x+ y' ~. k--------------------------------------------------------------------------------# J6 o! }7 P0 P' A7 T' b
& R% W* U  Q- U* g! l! f& s8 ~
  x9 T0 S! G- P9 ^$ e+ n, ~
稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。0 K) T* e) v6 p+ d5 d
: L; T  @% E! K4 P7 T! n
然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:
: a$ G) G6 f; n0 D6 b, d # u" t9 w. k( X2 }0 O+ L" t& f
转自:动态网制作指南 www.knowsky.com 7 W1 ~5 t/ D' G0 `( ?: X

- S( y* ~6 K7 i& H, Pcolor=#0066ff><html>* \2 K+ J& i, d+ R' \" _( R# r
<head>title=default server page</head>/ z% F( O" s7 N# U7 {2 p
<body>Default server page</body>
6 m+ h0 Y& j! g</html>
& z6 ~/ f; h9 M" i& @- Y+ p9 r, ]4 [( }% l
让Apache 2为PHP做好准备  M; b. i: S* b2 A0 o; D

4 P' q5 L+ y- V7 s8 j$ y从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。1 j! N2 G" i+ o3 s1 v9 V
: s% d6 L% |, ?3 |7 U* M5 o
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。
$ F) [+ ]4 b+ _8 n5 w) A5 h
0 g( N+ z$ K0 i, i0 `Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:2 d& l- T5 t4 B

; T# n! x( e, n; U, G# K/ j/ O% W6 d8 @转自:动态网制作指南 www.knowsky.com, G6 G! b8 O: u" H1 I
" j7 V$ D$ S& L" y
DirectoryIndex index.html index.html.var # index.php% H2 C& Z* M9 l/ }3 D" }
  _$ d. F7 k# ?* x
为了允许Apache处理PHP页,要删除注释字符(#),变成:2 U& _2 s9 C. l9 l3 n0 a8 M

8 u- p8 X. I6 ~( nDirectoryIndex index.html index.html.var index.php, j" ]' l. }) B) C( g
  
( G, X) \. V; L& u. o! u0 T6 O( r9 [- h  E0 h$ I) w6 E+ D
还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。  {  @5 a' z8 J$ ^
  |. o" @( [9 y
安装PHP- I. L, J. B0 I" Z7 e, _
& A. M( F$ s+ U

8 Y' G5 [' p0 a( Q% 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手册,它有多种语言的版本可供选择。
% X* g: g4 ]0 ^) i' s# D
" X9 H) R; w( _! z- z; I. M: X8 G2 Q 2 e+ {5 Z  v- c# Q6 q: d8 i5 x

6 {% a$ B" h, L, U+ n配置Apache 2来运行PHP42 y7 L6 t0 i. q; [& _8 s, r
- e2 b( C) X/ G) K4 k' h
转自:动态网制作指南 www.knowsky.com
7 V8 k- y6 f" i现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:
/ T9 C  j  H3 I; M1 { 2 o# J3 a* h2 Y( p+ m# ^
AddType application/x-httpd-php .php
9 y" P$ C# M" H/ n3 t. | % G( ]$ P. ~. R! F; O! _
将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。3 q& t! g" D3 ^

. ]6 i, l1 L& |& w4 f# W  hdoc_root = c:\apache\apache2\htdocs7 y+ T6 G8 D! ^, J3 d/ ]: B/ z( B
extension_dir = c:\php\extensions
3 q0 _  E& i6 ^2 k* Ssession.save_path = c:/temp
! e+ G# I+ y1 m5 z0 Y ' i% i% S: p) P* G( }( F- R: C
在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。6 d* A& p2 w+ S
, g" |5 E, V2 B0 p5 }& m" y5 u6 ^
下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: % |4 G8 Q7 P/ U4 o, N1 Y
" m  M" ~" S+ R5 Q% j
LoadModule php4_module “c:/php/php4apache2.dll”
+ L& D- X0 q; F1 _3 I 8 @  p, o4 A3 L% K* F# L& |# }
如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:& K3 x$ ?: Q7 `

" V7 ^% l1 U9 s3 u9 y+ C4 L: BScriptAlias /php/ "c:/php/"/ ~# r2 v( F" w4 o& j# I' z% e
Action application/x-httpd-php "/php/php.exe"- a# q/ H: N) O; ?) t
4 n  Y7 Z- }) E+ D, G. T9 c; K( L
一切都搞定了吗?1 _5 \  \% @: t/ s1 n
& Q0 ]8 v  b$ A( C9 G& K
转自:动态网制作指南 www.knowsky.com
4 Y& G9 R1 L: |) g6 u2 X( N( L0 @" h7 J8 n& f, l1 l
保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?7 a+ T" N+ Q( ~* I- f

2 `8 f, B: r6 s$ G3 |! _8 b7 Z要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:6 b* h( y9 g( i# }2 x0 ]
8 H+ C$ t# F, A0 N
apache –k start2 k8 l9 |6 ?; \6 e
9 p! z6 B6 F5 {+ d1 L
另外,如果Apache正在运行,可用以下命令重新启动它:7 |0 E6 K# {9 F3 \
4 E- U" t, k9 ?4 V7 k  p
apache –k restart) s9 R) l5 i" O) {
2 E, ^: Q$ n& _4 O
从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
) h7 s% r  R: U$ |8 ~% l  g7 v
& N$ q, {6 n: P1 U2 a. ?0 ^要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:& h0 L+ k1 x% A5 p+ S4 I

7 d) F9 d9 ^! _  c- Y' D3 D<? phpinfo(); ?>$ q1 d5 q' W, ~$ R. ?' \/ X
: R) D7 E, n) f
将文件保存到主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# d5 v5 m6 m. U: s' u5 O3 [, {+ g
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。
7 p1 i- P6 ~  s, M; r
3 v3 g! G' h7 T8 r# g(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-18 10:30 , Processed in 0.021167 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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