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

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

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

$ v$ N  F% F9 l; ?
& C2 o: k. O" d8 N1 T转自:动态网制作指南 www.knowsky.com
5 C7 R1 l9 ^: x# ?  ^7 [在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
8 D$ E8 L5 Z0 i, T+ ?( x: u- Z  j. u/ n
2 d- v3 ]: R: ~4 s4 R! V* x( {
2 H' Z! v( y- z# B6 Z
使用正确版本的Windows' u8 l+ N7 q# _/ f0 ^8 U. o1 }& G

2 d" {; x5 ^/ h" k; z. a2 o首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
: u' H9 C" g9 v. e# m8 F8 Y" K
) h0 d7 D0 K  H/ {4 ?6 p' fApache 2:源码还是二进制?
) d& z! N! d3 F. q& _7 j6 r1 O/ T如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。
" E1 r6 J# o' ?* X+ J2 @' }0 f; I  E0 g) u$ C/ |
如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。6 e8 W2 h' g$ s/ [! W" U

6 B4 p$ L/ \" b0 A- F: S- e$ l双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。
0 Y& w) e/ G9 W2 H. C( B# V( e" u8 l2 I0 d* I, u2 E
图A
1 F. b1 f5 ~1 }1 l" P, r
6 t( s1 r) @1 z, m% c
0 F' {. `$ ~4 i" k7 s3 K" o& Q& F0 ~1 F8 S  e
转自:动态网制作指南 www.knowsky.com& O1 @9 I) d0 Z$ K2 N# z) @5 K8 d

, n! Z1 h8 S: S8 c, _0 s0 @! _正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
$ }! a2 N9 T; ], {1 X& r6 t  \# C; v3 P7 J4 D& }

) D+ @1 Y6 a7 S- i' i. b' o; W- ]--------------------------------------------------------------------------------
3 a8 g; y! n- E. ^$ @4 O; T& q9 r! a
安装提示
/ o+ H) L- x* V7 s建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。8 B7 m9 ]/ O. D

& F. o2 K* B: Y( x
& U) O* F: T/ u- t3 ]/ E--------------------------------------------------------------------------------
5 {# r3 T; k, E5 }1 a
2 [0 c% A& U2 K4 k0 Y5 b9 ~
( r' u( W, Y2 m7 R  }* m稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。
8 G7 A3 E# f; [* ~$ M$ R
# g! ]2 ^" U+ z: X1 D# F$ k然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:
" v, _1 h( o8 o5 d3 n: X1 f4 o
3 C. K& [& d$ M: [转自:动态网制作指南 www.knowsky.com
. E1 ^6 v" f4 V0 e
2 z3 t8 J+ Z2 y# b3 W3 [color=#0066ff><html>7 u0 A- s$ X' _" G- v
<head>title=default server page</head>' g) v% [% \/ h
<body>Default server page</body>& |5 Q7 G% i( Y5 Z) m! T
</html>
+ [7 m, `& `- d" n# i! ]/ |4 B: @0 D) B4 L% N( M
让Apache 2为PHP做好准备$ F# w' P- ?1 F# d9 c4 w6 ~7 x- p
) h6 c0 q! d* J2 d! S& h/ n- I
从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。/ Q" `: H  l7 E4 x& w5 F9 m* ]; d
! ?( i. G5 |/ D: Q( \. W% [
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。
0 y- l3 I+ w7 Z1 l$ Z  u* t
! F% m% O* H6 \3 R3 q! mApache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
+ v( ~5 U7 o3 i! g1 e+ W6 r0 @
/ m* t( {9 o3 l$ c- Q! z- Y7 W转自:动态网制作指南 www.knowsky.com( c2 F4 [; T/ A6 W- G  }' k# M

. H/ V$ d0 G5 N; HDirectoryIndex index.html index.html.var # index.php  T+ x* @& u" U; z! j) t" L

* Q2 e& U! t9 V1 j9 R" ~为了允许Apache处理PHP页,要删除注释字符(#),变成:/ D0 o, I6 n/ ^

8 w; m# j% R% u" C) yDirectoryIndex index.html index.html.var index.php
1 X& L9 s. D# U5 m  1 o0 p1 i6 j& |9 Q! Z! |; w

" q8 {: q2 D0 C还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。) `7 ^6 \( ^. y( m/ Q, i

+ G4 v" n9 s0 J; m安装PHP' W& E- R  x3 n8 |% Q% V
9 L' v$ N) n% g5 v0 X( [

4 x6 `* {' Q& v$ e虽然可以下载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手册,它有多种语言的版本可供选择。* [* g) K: {: i, U/ Q/ D, W
' {; x  R' `, @

7 z: K* v; j) D3 g  n" L+ h/ r
5 v! v% i* {( H配置Apache 2来运行PHP4/ A# E9 E$ g  q& @2 o6 S

" q. _8 n+ }, R! o, y9 D转自:动态网制作指南 www.knowsky.com
% m1 L! v0 e) {% p现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:3 _6 }9 B. x; w9 J* N# ^* ^" Y6 Q

3 Z* z: D; t2 D; J+ ~AddType application/x-httpd-php .php
7 j# ~% j2 F/ D$ c ; m- o, m: K9 n! X& h
将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。3 }% \8 W5 i; s2 _( t
  {8 d/ ^; i9 ~2 P2 d
doc_root = c:\apache\apache2\htdocs
" H& X7 y; A# a. W9 T4 w: Eextension_dir = c:\php\extensions7 s# f# f% G7 Q4 h0 c; ?
session.save_path = c:/temp
5 ^9 T" L# R" W, ~% r- k
! `7 e, W: V* W9 N9 S4 f在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。
4 g) Z) j& A- Z( b3 K4 e7 p# X# m" N' F9 f9 h9 s
下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行:
8 k% r! J! Z, B; O# M/ P+ a7 X) x# m# q6 I
LoadModule php4_module “c:/php/php4apache2.dll”
- n3 D: I: f6 E/ y: J
9 K9 y% }- ?2 d$ y+ `6 b3 ~! Q3 k如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:& J" W( V' @( _8 J( U+ r
6 |" b# F2 l. h2 P8 w- O5 `
ScriptAlias /php/ "c:/php/"- x) Z' Q. m% K0 n5 I- y' a( l: R
Action application/x-httpd-php "/php/php.exe"/ f/ v0 q5 b0 Y  k

6 ]! I+ ?, M2 O. [6 h5 B1 K一切都搞定了吗?
! u( v8 Z6 C$ Y% q' `* v7 F, K+ R$ r5 `" P( X& n+ b! H* `8 d! B
转自:动态网制作指南 www.knowsky.com
; }. }& `4 Q' r( w6 u/ o# H
8 m' B% M4 r7 Y+ v& F2 G保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?" u! Y8 e3 o0 d+ v; O  V
$ C0 j* h3 B- F4 i, D
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:( Q# R' F% k7 g3 p

: ]% v' u; ]$ ?  C- V# mapache –k start
9 X6 U" d& G! z
+ C9 |. _) \  `: F0 O8 e* [另外,如果Apache正在运行,可用以下命令重新启动它:9 T0 _) U5 O1 `* G0 u# c4 c& G
% R* i" T; D- E4 j0 N* d
apache –k restart9 G7 i1 I; E0 L: B, z: J
& Q! `" s- e$ |; }' F! w' [1 d
从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
2 y* H/ R0 h* O4 V7 ]3 }4 P, j
3 }4 H! ]" f2 F; ~  _要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:# W& s2 U& ?' ^( x
  x3 r' g( S2 y- M0 W& E  s
<? phpinfo(); ?>( ]* D4 j  e0 P  a* T
# L% P3 b  Y& D- t6 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。! k4 V. }7 f, i9 _
5 j2 ?+ S! o7 ?: B7 ]
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。
9 m2 B# U. O0 N( ~
7 F5 L2 g8 n- Z$ }% M(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-13 10:11 , Processed in 0.020356 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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