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

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

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

: T& ^1 s- c% X) _* f. ?1 `- M转自:动态网制作指南 www.knowsky.com8 t4 O" E3 Y  V; p; @  e
在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。2 n  M% R' o- m+ A( s1 a! `
8 P; b. L& j7 {: M  D0 n6 l( ~% B
2 _0 n& S. f3 F
, R! a) M8 Z& z/ t: Y
使用正确版本的Windows
/ T5 u- j& `6 X9 y, V, [  m" r, E: f" |1 z& J$ v$ k
首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
5 h/ r- u2 N7 ^# |1 v
) u* C9 {  q% \5 d' N- ]( vApache 2:源码还是二进制?
& s7 C$ a* ~/ L2 k$ o: Z如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。
$ F$ k9 [8 C! n, u$ E; K' J8 i
$ @3 m) V& v5 t如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。
  p& t; ?/ a3 q
' ^! Z( K' y$ S  |, j- h双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。
/ p9 q  A. |% c" ^8 O5 F
/ V* \- E3 U1 ~5 U图A$ F/ c# [& A+ E0 Z$ n

1 ?+ ~4 a. r4 D! j4 Z' }% a: N
1 w9 O1 r/ [5 L" u
3 Q+ ?9 P. F/ n; C& G转自:动态网制作指南 www.knowsky.com
- |* R6 [' E1 a" z! H- T8 H
9 q/ t8 C- p; L' B# W正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
: Y3 B' f, c3 L6 C* N
1 j1 i/ m$ j5 n4 r# X* f
  n! @- R- h" _% V6 ]--------------------------------------------------------------------------------
1 C1 b# u9 v1 q) D! \- |. H" Y7 J% a, A& E3 ~, Q
安装提示
8 |; {1 E% P3 n; P' M建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。( y3 i2 m4 {" G: k/ L
+ M4 w9 o5 H- X  X* h5 D: c
5 }% F, l5 b; W% p
--------------------------------------------------------------------------------
, Q+ j3 d5 v' s0 j# O0 f& k
+ ]3 t3 V7 n3 Q/ H/ J
9 `7 s# h  l6 g1 G5 g. L' d稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。" d% v+ r; k( A1 z7 A
% v' N: q$ U/ v; X
然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:' r) B  w% M1 `0 q0 {) |

( ^2 x% w0 B& O  b* i1 }# @转自:动态网制作指南 www.knowsky.com ) o/ U3 k, n( M
+ w  A& O5 s8 b+ M+ f; I1 |
color=#0066ff><html>5 |/ k6 u6 o+ h
<head>title=default server page</head>( `+ q' W- G, X
<body>Default server page</body>
$ d( J7 L6 j5 f4 s" T0 a0 O</html>
4 K5 B* p5 Y0 Y) E6 x  y
/ t, `' X' t: h" v让Apache 2为PHP做好准备! A% s1 [1 B8 o& g: x

# k' V, |* U5 V' C; R0 x8 b2 x/ \从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。
6 @( ^6 s! O: t: C8 u( |9 d( j, X8 u2 A; e% H9 |. y
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。8 ]7 r! f# r. u1 I, o
( U1 O5 q" j. R# L% y4 x, B/ k
Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
* A8 j. K7 t; ?8 v) x' D6 S/ e. W( |; B1 c
转自:动态网制作指南 www.knowsky.com1 I: f, y, m) N# i# [

* t- A) T/ @. p$ i* kDirectoryIndex index.html index.html.var # index.php
1 r+ _8 f6 H3 G7 P, ^; R) {+ Y * K5 _4 i, r8 P% k3 J5 ~
为了允许Apache处理PHP页,要删除注释字符(#),变成:0 s9 P, _1 j( G, W  h

( W  W8 {5 {1 n( y( {! g. `DirectoryIndex index.html index.html.var index.php9 E* |$ H+ U; {: Z$ N# n1 `9 b
  : f2 n% {# t" ^* v  f

4 \0 {6 o7 i" l* [$ m- f: |还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。
+ a: }0 x# K' O; ^9 ^5 }
: K- }* I, A- |! L安装PHP: H3 R+ \) N1 x* h  {

7 t) ?) ~/ v; o" V- \7 C* I2 Y, @$ b3 C% @
虽然可以下载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手册,它有多种语言的版本可供选择。* k4 \; {% U9 V
1 o8 f3 @6 L; l1 S. r; i- Y& l
& Y& e/ ~4 C  b0 k6 E

1 ~# t0 g$ M8 E, y配置Apache 2来运行PHP4* s8 b2 W9 ~6 Z; a, S$ ]& h3 u
; R$ v2 b& J) z) G1 s+ g
转自:动态网制作指南 www.knowsky.com
* F) t. o7 I: M0 i6 t* Y. O现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:
8 F& M9 M, P1 P: |9 |, W3 f. n   M0 @1 L' Q% D0 U' R
AddType application/x-httpd-php .php  g% R" T8 W2 |; G9 d9 a5 s

1 e0 S0 [* \2 T. _5 F" c将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。
- w6 _3 X7 i$ @
* g! s/ q( C: ?# z7 T0 zdoc_root = c:\apache\apache2\htdocs4 J, x+ w0 e: [* x" s0 t
extension_dir = c:\php\extensions
& @- D4 G! n: y! B% q5 Psession.save_path = c:/temp2 _$ Z5 ]0 J" n, C, f) R  A2 h; G
  q  F" P# [& M8 E
在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。' E- w2 y. @* q  i6 I! @$ H
% ~' T( ]" f+ \& {- a# t
下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: : o, n5 a9 I( q! O. t5 _

' b1 ?1 P6 w( e% [' WLoadModule php4_module “c:/php/php4apache2.dll”7 m: L" c" j" ?4 j8 R1 o; i5 u& N
4 e5 y9 J! g0 Y# l9 f. H
如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:% s. x: @& e7 Q% R" B: `" D
, R+ f0 j1 M% k# h, g9 J, t" f* G
ScriptAlias /php/ "c:/php/"
8 ?) }, V* F- I7 G8 K" ?$ \Action application/x-httpd-php "/php/php.exe"
& }- @' k2 p% V, T  |* e$ S! D8 n, r- ?
一切都搞定了吗?
3 s2 L+ `! i3 ]; o" }, \8 r6 Q- {* P1 }: D2 s
转自:动态网制作指南 www.knowsky.com. @4 @0 T8 k( E6 x6 k  K( s, m

9 G( C' @  f% L* U" g. }保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?
8 B0 x. ]0 k% n0 y% X
: [9 ]. ^9 c) o要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:4 Q% U4 T- b& N; O9 |6 m# \' s, t

6 S4 R. v  w9 @* `apache –k start; k& d$ w+ g7 w  e  D( d
4 p0 ~/ }0 x8 g7 C! l
另外,如果Apache正在运行,可用以下命令重新启动它:
( h2 d8 {  y+ k* R9 Y
# o. w" m6 ]! c+ y* L/ F, w1 i% Fapache –k restart
5 @# b1 y3 |( Y: I7 c+ g
3 v% ~; x2 h$ H% I! V& j  b8 r* e+ _8 b从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
5 h5 M& B6 |# {( f$ }( Y! _! M& D% F, {$ q4 Y  N9 x
要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
: Z6 j( c. c( ]1 X' g : T$ k8 k' V) Q. v
<? phpinfo(); ?>* v3 w- R+ `5 V' n

1 c5 V0 N4 N6 J) r* ^  X) `, y2 [# i将文件保存到主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。
$ n0 Q: @1 L- ]% _/ j) S- N7 j. ~! B4 B2 `
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。: k  h, j" a# @& y, @$ A" e

. P5 L( K6 d# f0 u(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-9 03:01 , Processed in 0.034155 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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