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

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

[复制链接]
发表于 2004-5-10 19:59:28 | 显示全部楼层 |阅读模式
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。
5 a) O# c8 `7 S. X9 ~4 m6 p: Q# K+ K$ [
, }+ ~2 u, t6 y7 ^. K' L
转自:动态网制作指南 www.knowsky.com  w8 p4 h/ J4 b! B0 @$ n9 I! f
在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。! }- z) @  o/ m
7 N# ?( U8 Z5 \

, \( b& B. q: ~: r/ I; f
- v  J! \/ O: F, Q使用正确版本的Windows
' p, V" B1 x, t  y5 N/ r! ~$ Y! y9 n' I
首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。' j6 i6 A0 M+ w6 B6 A6 x
6 o' h5 }8 B* m" A, D
Apache 2:源码还是二进制?
, e% u7 Y7 |" q+ ^5 G如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。4 r% f$ M: Z! @9 s( H
8 w: v; H  {4 a6 `3 F  l
如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。
, q$ N& F! V* J; U0 m1 k6 O, Q8 ?! N
双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。% w) ^; H! i" L4 I$ z/ [5 Y: n

4 Z7 I! E2 X' ~; t& u图A, S( h/ |0 g2 ~! I' L
# e( Z* E" P- D

4 B( a6 B5 J9 M$ Y# Q* \2 ~! C" M( J* @! `
转自:动态网制作指南 www.knowsky.com
9 o: t6 ?+ w$ U: r3 h  g4 n' r# A+ a) ]) a3 {; b
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
7 L2 K5 ~7 T$ ^& F5 W2 t; u5 A' g5 _$ W+ K! j$ ]7 o5 t

3 O4 `$ {& B0 ]--------------------------------------------------------------------------------  T! {3 w3 X7 M5 @- u: f8 i6 l

9 E" m* Y* g+ E9 ^$ e; H安装提示. ^, _7 h7 ~- x8 [, h- Y
建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。: n# q9 O7 @0 a# _

+ @& B0 g: O5 w
6 Z! ^2 j6 t5 c--------------------------------------------------------------------------------
6 q: E2 S7 ]" z
; T- G- |9 Q* i0 C& M  Q+ \; B& z7 y1 t7 _8 V( u# r
稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。! _. Q5 N7 g8 n0 h2 [
3 k4 ?" P6 z$ I* _
然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:
6 j& k5 A8 u2 H; l) a 8 D) ?( _* H3 D* N' u1 a
转自:动态网制作指南 www.knowsky.com
$ a& S4 I9 n* i4 y# k% v- @! ^) n5 f' {+ Z) r/ K' N
color=#0066ff><html>/ q0 e# V, x* J4 y+ E, l
<head>title=default server page</head>
  G7 Y8 c( l- V! i<body>Default server page</body>; X0 H  t9 l6 R1 D  @/ W, i
</html>
4 }$ H* A2 r: g' M8 V% I& c
6 w8 u% ?: R$ S2 o2 \让Apache 2为PHP做好准备
8 I4 T6 S( r/ ~+ e( R# B. i/ l" G1 W6 A* B: i. {5 U1 ~% ^9 A
从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。3 N1 k9 k, s2 P/ [  j( S

  k  H5 ?8 o* R2 v$ u* F4 @9 ^令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。8 C1 w: j, X- t; X6 h6 B

" q, P/ _" I! b% ~& z' y1 lApache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
- }/ Z+ Z" M1 G0 C/ T% G$ c/ ^; M0 Y# d% l' ^- v# b- P3 s
转自:动态网制作指南 www.knowsky.com6 b) X! m+ @  Q9 J' I
) \7 |: b, w2 I: x2 F# e: p; Q4 ?( `
DirectoryIndex index.html index.html.var # index.php
. |* t% q! s7 N, H  A# ^6 U
& C, X9 K/ P  H/ |! `为了允许Apache处理PHP页,要删除注释字符(#),变成:( m8 y, R) H5 f, T& T" K; x% F

7 U  N. o: p# Y$ H  A0 C' ADirectoryIndex index.html index.html.var index.php- l7 V0 x6 M# |* g3 \- F
  
6 ?8 [8 A/ H" g4 ]
. U1 a; C" K6 R5 n还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。7 A5 J. Q; e( b% ]- q2 A& c

/ j9 E' ]- B. k5 d安装PHP
/ I0 w$ f. ?" a( v
  O$ P7 d5 @) N+ h: [4 Z9 E% n& P9 e& X/ n, T+ H) K
虽然可以下载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 a& ?; V9 L4 l4 o# ?  b5 k/ K+ i# |# C2 d- g$ g5 O9 y8 _; i
+ i$ g5 D9 `% o! E

0 D1 a& r4 |4 V) _0 k配置Apache 2来运行PHP4$ }& V* B7 m8 D; ?* f! p1 o
8 j  J) |" T& r7 l/ r! w- z
转自:动态网制作指南 www.knowsky.com8 Q# n& n2 }4 R6 h5 k
现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:
; n4 K) _3 ?* b; m, b& P* _
. ]& ]: P( ?* M; oAddType application/x-httpd-php .php
3 m+ g$ h  j' N. N5 P: z 8 b+ n" w) A* d
将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。! k4 W: F. ^, v( r: }" D# j2 g' l

' N7 V, |( S) M" f& {7 Ndoc_root = c:\apache\apache2\htdocs
% F  }5 w& x3 hextension_dir = c:\php\extensions$ m1 C5 y- N! i! i) g
session.save_path = c:/temp; c) x! v. G: k2 e: X" k6 b2 z
) Y" R% _1 I/ O4 P: K
在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。9 U1 U3 p: V- A  s* x) H

0 V' V+ @9 X5 \) Q3 u0 O1 H/ |& F1 W下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: ( n/ w5 e" n9 m8 o) Q4 ]' T

3 n1 m8 \( K- e' g$ y5 {% tLoadModule php4_module “c:/php/php4apache2.dll”9 D% f( `7 n, q$ M( k3 i0 f
- k) j- [4 v1 S5 I
如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:
( h  @, Q+ I* v; S, x4 z  b * H" w1 ]& `! b  N
ScriptAlias /php/ "c:/php/"
+ C2 T* f2 o. q: P6 b9 s" W: QAction application/x-httpd-php "/php/php.exe"
; O+ c9 M- B" x* a7 b7 ~+ I3 L4 \9 K: U4 j0 ^8 d6 b$ H( `' B& h1 k
一切都搞定了吗?; o8 Y. s& M6 O9 F

% U* T5 L$ P  _! D1 _& \7 }转自:动态网制作指南 www.knowsky.com7 I( O# H* M: k5 e+ `3 ~

% Q# |* p3 Z" L8 _6 r保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?
1 k2 g; K+ h6 U5 \& z: o$ }+ A$ _$ y9 m0 }! R( A' k6 q
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:: e, O0 b4 ?, O# K) S# q
1 ?7 `6 K2 [' l4 [. V  Q
apache –k start
5 h1 A. J% R: Y# P- _/ H. O% p. n
. f$ Q7 v/ p8 x; X6 P另外,如果Apache正在运行,可用以下命令重新启动它:
8 A- l7 h: y% A3 ]& s% U( w8 L5 ^ 2 N$ @% ^( E+ Y: w! {4 T3 V
apache –k restart' W* K9 g. v3 o% t) j; S

% r, m; M$ ^, g+ P+ W' s从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。! J4 I7 M* J* P1 z" W
1 s4 [9 G9 c; o* h/ H: ^
要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
* `2 i! g3 A0 \
8 n+ F3 T: F% h0 H<? phpinfo(); ?>3 z- M5 N. K: h/ ^# e  i# a
, U1 X9 z6 G- Y/ J8 n: d( ~
将文件保存到主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。
3 {& z) d# F. m: |5 A5 V4 x6 b8 [7 ^# l! o& v& b; D
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。
5 A$ r& s6 l: [6 Q$ r
8 G  T5 l2 e, b) z0 g: K(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-30 00:42 , Processed in 0.020196 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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