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

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

[复制链接]
发表于 2004-5-10 19:59:28 | 显示全部楼层 |阅读模式
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。
; Q# `3 w* L) k& b
9 w, }, v- L( q# q! z9 R$ V9 [' T
! q; [/ h8 Q, b& |4 r0 Y2 j转自:动态网制作指南 www.knowsky.com
) O2 g, P( v7 p在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
& U' U# S5 E# m7 T- L8 u$ A& ~9 Y5 s6 ~

9 _& C5 {4 ?* B2 S7 q+ ^; C5 ?) Z. N% a4 [7 a: f
使用正确版本的Windows
( Y8 P$ I9 B  `! {2 F1 q$ b6 H: C0 G6 U
首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
8 B4 D9 _3 A! R' ~% C5 h& y2 f
8 B% i) K+ m# E; _/ HApache 2:源码还是二进制?
6 H- w/ w6 N5 h. K如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。5 g. y4 \0 D% d# D

; s* N, C# ], U) G- z: O' _如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。$ Z4 q& y4 N7 m. E/ T. o$ |' V0 B
+ ^5 E  x' `5 k& ~6 s, z  \
双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。) e2 M6 L; X3 K3 b9 t& L0 A

3 O, y. x9 w2 S- d7 d图A# d2 @: N1 K8 B1 Y* Z. _. H

, s* H. P2 {. \- O: k4 V1 z
: ^" \) s  a; R' j5 Y! h4 o" I$ k9 i- D+ B/ C* H9 `: Y
转自:动态网制作指南 www.knowsky.com5 F" t: L9 y6 C3 d5 W
9 D2 t! z! |% q& s; \) N
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。. J5 e- x! \5 b. k# k$ K; _
$ v/ V. w! g/ k. U
; K  f  Y+ ?% h# `8 ?9 q
--------------------------------------------------------------------------------
  g; U- `4 d/ G1 v1 R+ |
7 s' C1 a9 u* |安装提示
8 Z9 ?4 V! v& o4 s/ q5 [建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。* o7 `: G* E" Y8 h9 b7 g
- q% L3 S& g8 ?, I9 K9 X
3 J7 E& z( m4 y/ a: E+ R
--------------------------------------------------------------------------------
' M% ?1 ~, x3 Z1 F: N9 @' p& E& R8 A9 `5 t
) T8 X6 u# X6 y) \, b0 S
稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。
  v4 H8 s7 Y9 _+ ^, a" m7 L: V" g
: r: i& y0 R' i9 _& o然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:) a! M: t' H7 V& _

1 Y& K/ C. Q* e% l: @" @转自:动态网制作指南 www.knowsky.com
7 ?3 ^1 s) z" {# V' k- U1 D/ i: Q) P* I/ T) J3 K9 [. Q5 D
color=#0066ff><html>, ^3 P& J) ^# ~/ Y3 w7 ^2 h
<head>title=default server page</head>; `9 b" P( R. H4 b/ v6 F
<body>Default server page</body>+ G1 I3 ?3 j4 w* l/ G3 }+ y5 t
</html>
- f% ^6 i3 I3 w& `( J% d7 G4 @, @! r: ]$ I! R
让Apache 2为PHP做好准备5 S9 Z/ b4 J. R# ?8 e

+ {. |8 S8 [$ v! B: _从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。
+ F3 y" F& G& F; e- {0 R1 K0 ~2 M
9 r7 A5 c" p8 c+ l( E令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。& I4 u$ \$ e. ^2 \0 F2 p
' Z1 E1 P$ k6 n
Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
% Z) ^/ v% N# Z) [( b2 v5 ~% Y: e' z: b, P
转自:动态网制作指南 www.knowsky.com  K( d. B3 \- T; I$ h, W- B% Y& a
$ y0 f% E- a9 O  q; U( C* e
DirectoryIndex index.html index.html.var # index.php
8 A$ ]( N5 u0 j) U
/ i5 h) n7 |; _  O为了允许Apache处理PHP页,要删除注释字符(#),变成:5 Z$ X- U* l. u; Y* ]9 v
1 u' G& X7 J- R" e* w. l
DirectoryIndex index.html index.html.var index.php
' n3 R- I& k& y' `2 s2 d2 T  9 `: d6 V1 Q/ O0 }9 r
+ V7 t% x+ M1 @8 n
还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。  W+ H. M8 y1 v* e5 N7 z* o
. j% q- Z( s/ C8 c5 Q9 B
安装PHP
" j3 y; x! M' a- X" [
2 s  y0 x  r3 k2 D. u+ }  J4 H; |: v) U0 O) R. _& y
虽然可以下载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手册,它有多种语言的版本可供选择。$ ]; e; Y$ U/ A
+ N" e3 q6 l- ~8 S, b- X# `  O) i

+ s& Z* l$ d) t' N) _
+ m, D2 g* {  P; N* d& M配置Apache 2来运行PHP4
8 o" J% E, ~& u7 z+ ^8 \: h: T) l8 s1 e4 b' U
转自:动态网制作指南 www.knowsky.com
% X" v: H' G. [0 L" g1 b% Y现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:
+ R3 s$ y6 h  ~, o/ m' i( z7 A! o
5 \; n( n5 l7 a/ }! kAddType application/x-httpd-php .php& ?$ ]3 V- R6 X6 s5 z; \

" |5 U% e4 `( w% t( U) W将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。* E2 L( d- [9 h" Y! g, e4 [

+ T( b0 y3 J: h' udoc_root = c:\apache\apache2\htdocs- C, Q3 y# l6 W4 t4 L4 `( `
extension_dir = c:\php\extensions
; @0 h4 _2 c9 i3 Z' @5 K4 h: Bsession.save_path = c:/temp
' y9 }! a1 A" `. E  c: s2 | " O( J$ d* u3 }& S* j/ @
在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。
6 K# w. K4 ]% U' e- N( T3 M; k+ Q
  y" D$ k1 n2 |# g) e. m) v$ g  Z, T下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: # c- n6 k+ V$ }. S

% A4 D6 V) P6 M: B- K7 q5 u2 ULoadModule php4_module “c:/php/php4apache2.dll”
( T; \7 F6 I( H1 Y3 X, c1 q
4 T5 @6 X5 j, k7 a/ I如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:
3 A* w$ p6 |0 h6 A* w9 K# {5 Q. w6 [' _ $ d" U# w: C+ N6 V" r! h
ScriptAlias /php/ "c:/php/"# C) m" l6 @- A1 K
Action application/x-httpd-php "/php/php.exe"
  ]9 _9 i! _3 c: Q% n% [. N/ b- C/ i
一切都搞定了吗?
) g& Q: h6 m# `+ x6 C1 g4 m3 s8 Q- x6 |
转自:动态网制作指南 www.knowsky.com  m1 ^$ x  w2 E6 z- h8 r
. f1 l; Y- U' q5 G
保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?
5 e& Y3 N+ J8 V/ ^5 N1 c/ H' p% Y) q
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:% z! o7 D% y: L& z* r
% v' u( ^+ \# i, m2 l- c: m
apache –k start$ d! ^; u  f/ K5 H; }# t
9 a4 e% V% P; x
另外,如果Apache正在运行,可用以下命令重新启动它:9 w% k& M/ X% I8 C7 g5 }7 T
/ k9 k8 Q4 ~9 J# X, D' l$ ~
apache –k restart
1 D0 f; V0 V5 Z9 v 8 K  {) a6 x* C/ x7 n4 O0 @
从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。6 E) }6 T8 J( v# w$ s- Y3 o
; ~# K& }; ^0 }; R
要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:& k8 b2 K9 i6 i: ?( j

& H& L* Y+ I1 P" N* g# |6 c3 I<? phpinfo(); ?>% ]* T$ |7 O/ ^% w9 N
. }4 J5 u5 A, s3 p6 p1 P6 @4 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。/ N  P/ P" ]3 T' K8 I$ \' d/ h2 ~3 z) p

/ r+ E, ~. X$ F& b9 ], t8 R+ k虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。
8 D) @  t: s! g# Y& R5 X3 l* a3 [* X' i3 W; l: t: ~* A; c
(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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