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

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

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

7 W: t  A( e6 X* b6 v) m/ _4 l! W. l1 f8 C0 z5 m4 B
转自:动态网制作指南 www.knowsky.com
: E. L' y3 ^8 m; y在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
7 E+ `8 G* B  e/ j! X- D4 Y' E0 l+ N) h  [! P, k

2 I: n& H7 J5 x: |: S/ N0 I5 u% m/ O' B& c. A; s: @, y7 \
使用正确版本的Windows
4 U4 x2 k% A- M6 B
4 P" w/ {+ G' d0 f( ]. ?首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
" V: I5 j$ ]% |& M
) V, y  H- \- O' P& f/ [6 F: {Apache 2:源码还是二进制?
4 d6 W& G# T, F如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。% H9 p+ ^5 d( g' _0 q9 `* C) H8 y. H
0 {; g4 z6 r5 Z. u
如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。' u, z/ {+ w0 Y0 t3 Q& I5 A& V2 m' d

' K/ ?8 n2 {6 l) v0 j2 D5 }双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。
, M( }, [' {* n% R$ y( a" g& a# b& m0 c( S4 c4 I: x7 j
图A
1 [8 E. K7 ^$ _- ]- P: W: t9 n# I! O& Y1 b2 K

  q/ T0 {3 X* z8 R/ i/ T: {* {5 L& H) Z& l" [
转自:动态网制作指南 www.knowsky.com
8 u5 b5 L( G9 w! |8 y  s6 K- k  M$ I0 V, R
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
5 {3 p; W% p4 D, q, v( R7 g$ e: t
& b. k/ Q7 N) T- D# M; }- a8 L
--------------------------------------------------------------------------------  n0 z: `% H4 O  _0 Q* [4 e* B- D
2 J% d. e  [8 u
安装提示
/ V  a, c& j# n+ D建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。& Q& F2 o' r2 ~# X- ]
- _) q& Q5 g  N# j) P
8 `+ S+ m! r- M* {# T7 [
--------------------------------------------------------------------------------3 q4 T. [; W/ c3 \' I

+ n! l  h2 q7 h. r% R! \/ J+ T1 {' V# j+ ?& h5 f& L. K( p+ A, X
稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。
' L$ \* N1 Z( F
$ K# ?+ }  O; N, B然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:0 u+ G% P3 T4 |( T, T' W8 x, W

* n" |, h% f! a0 v% x0 a! i1 U0 p; E转自:动态网制作指南 www.knowsky.com
- |( h7 x) ^3 M! B5 |' e1 O, F  @4 A5 p7 x# S
color=#0066ff><html>7 O6 W4 N3 O% o5 @& h3 R
<head>title=default server page</head>1 H- k( I, a) x# q- ^
<body>Default server page</body>
8 P9 T- R$ ]$ n! q</html>
7 v# W' [! @: ~0 H& T+ ~. [# W( v9 q8 h
让Apache 2为PHP做好准备
4 P& \8 l, }3 C( L5 a! _; |' a' V! V
从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。) g% j; \( m; k4 X

9 |# f/ W3 L2 w% ]令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。' T9 \0 r  }. P# C3 [
" A4 ?+ x- v2 Z9 Z' W3 f* Z* W, m
Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:" r" y! B$ ?# n  q4 ?
& W5 O2 g1 `' l* _0 x
转自:动态网制作指南 www.knowsky.com
) l7 z- v0 `& M' X5 L / {+ u! [  ~: l4 M! ~
DirectoryIndex index.html index.html.var # index.php
( r% ]% u% M' X" j- R, r ; B* \9 Q. x- |3 _1 q& q+ e! i3 ~
为了允许Apache处理PHP页,要删除注释字符(#),变成:
! {8 G4 P' P$ n" f! w+ S0 |
+ v# p3 p% B/ y7 i/ n9 k, EDirectoryIndex index.html index.html.var index.php; J$ c1 w' F3 g4 x5 s% n
  
9 N6 }# H  z  t$ [' Z0 y( U
; ^4 c' d. O/ f: q+ k还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。2 K! s8 i9 F# M# `

' s0 p& y( K* Y- O' x安装PHP4 R! f2 H4 t# N7 [/ T
: i8 ]/ o: N! s; G7 d3 ^

9 N; c1 L  \4 }; c2 K: w! U2 j虽然可以下载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手册,它有多种语言的版本可供选择。
2 Y$ O9 @; T& ~7 N2 d& \
* _; {( J( T& f, p* U2 k% Q: Y 8 U( U7 ]  a$ g, Y- t2 c" S3 i6 `
/ U& ^# S, ?& b4 @9 d
配置Apache 2来运行PHP41 i. s! }, f$ q

/ x: T7 N5 Z( T2 ?4 L: ~/ R  z' v  s* Q转自:动态网制作指南 www.knowsky.com: }+ g; ?5 Q6 x( x; |% N
现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:
' f; c/ v  C2 D8 ?) |
5 T* v1 v8 ]6 x! m/ FAddType application/x-httpd-php .php
, y. O1 L" V1 k  s8 ^5 M
0 z: P* B/ @' u! J9 F4 w0 R) o将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。
* Z1 W6 Q3 M$ _4 a9 T ; l" @9 A8 G$ T
doc_root = c:\apache\apache2\htdocs. \# v0 j# R/ C1 @) v
extension_dir = c:\php\extensions
" `5 c2 R# D- s# i( S5 csession.save_path = c:/temp; [, R# {) j+ P- [

: X" U4 l- Q1 ]! p* X5 a在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。# e$ ?- P/ e6 h$ h4 f
: i- u& U& }& d& t% c% }- k
下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: # t: X$ f7 R+ r! O6 E) c3 {
4 N; e2 c: y6 e. z' T$ S
LoadModule php4_module “c:/php/php4apache2.dll”+ G! U0 S3 J3 q2 N+ R2 \& w# T8 }- C' D

. G  B' f3 R0 p; {如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:
: X6 n6 `6 ~/ w' z/ m% e) t) B " A4 I* ?" i1 _0 o
ScriptAlias /php/ "c:/php/"
2 w, s7 ?& D' y1 X' hAction application/x-httpd-php "/php/php.exe"
: e4 q# Q# |: _( \: ?& Q  ~0 H' V% J! P& D8 K5 t+ b
一切都搞定了吗?
5 C$ ]7 r+ Y% u1 U2 F! L7 X& T! p. `, I! ]6 H' W( X# }' p
转自:动态网制作指南 www.knowsky.com
" j+ b# g; A9 I+ {# f9 g' }2 {8 t; [8 ?9 y* G1 r+ N
保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?& Y5 {( s1 k8 h9 E( V
; \- M) p1 N+ k/ w- T. g) c
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:9 {5 c% l% i! N5 u7 x( i: ]* N

1 E& E! H1 F7 }) }, Hapache –k start
! r9 z: `1 `5 W' S. { 8 L" }( f. ?+ d8 ^4 y# h7 {
另外,如果Apache正在运行,可用以下命令重新启动它:8 [  t; O8 s( o* Z8 X: i4 i
4 ^9 V% D9 Q) D
apache –k restart' Y) h7 R0 z9 g) l3 G! m5 I

; N* K, y3 p& k* K4 _& s从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。  x& T5 I3 {5 Z
- {/ f# }( l/ z
要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:! a1 S( W( O" i, p, V, c
# ~2 ]) B: r* R5 f; x0 Q
<? phpinfo(); ?>
1 `9 g* L/ ^  a: A$ ?: }* x( O/ c
: v/ h4 c3 m! |; O" c: S" k1 T将文件保存到主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。1 U  _$ k/ j) P) V0 {8 ?
! u2 x, ^8 k: [+ @
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。: X* N  g2 D* M! l# U) y
/ p3 u3 a9 [: h" J- O/ X
(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-19 18:42 , Processed in 0.036319 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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