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

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

[复制链接]
发表于 2004-5-10 19:59:28 | 显示全部楼层 |阅读模式
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。
8 O! [, n% k' d- y% P8 b
$ E5 |+ H- g$ C: [. o: j' R
1 H3 C- E% Q$ ~- X" k" V转自:动态网制作指南 www.knowsky.com$ o" S$ P5 g6 B/ g* T
在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
3 g5 ]( K( x  C- A( T) [6 B1 \
' z% S0 z9 N7 G8 j1 [# ^ 7 X# X. X3 H" x$ A
( c+ U; D- p0 Y5 M# p" O5 w7 ~; q
使用正确版本的Windows
/ \) `* y: P) R8 d  a$ Q1 N* L1 Z- L- ^' x- ]
首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
7 t+ t7 W, m7 p  G+ y
' A9 D$ C- d! _. K  D+ u# oApache 2:源码还是二进制?3 M! E. Q1 t& V1 y) c6 u8 a: E1 G
如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。
; y- C7 j' F; f8 F, {( H! b6 h; W% I. Q# x3 i( @3 n4 T% P
如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。
1 i- _& l/ \9 r  V/ G( s
, ~3 Y" S, J3 k4 g" L5 a; t双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。& `& c* }# [& L8 _. q  o
4 k: Y1 @! L  V  I7 @
图A
; F, e! n* `( Y0 d0 i
7 E9 g8 r+ o, \  A' Y
4 X# m5 i) w3 d' n3 n' s7 K, Y0 ^0 Q$ [& {9 u0 B- H* }
转自:动态网制作指南 www.knowsky.com
9 h0 n0 j) d: F% m0 i) Y, [2 X5 e' S" W
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。
5 r6 S# ]* C; H  w2 j& p# t2 p% l
1 `0 _: f2 K- I( [) c- ?6 r$ X
% Z3 G/ y+ v& c' e* w--------------------------------------------------------------------------------. Y1 x8 C2 ~! v9 Z
" c6 e9 E. }5 P% k% ]; @) ]
安装提示
& r; \8 l' |6 G7 A8 n3 K+ t& Y建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。6 @. o3 d9 A; a8 U1 z: H+ B5 I
+ z% S1 y0 R8 b4 t6 e
; J' Z) u% ?9 ?6 `$ Q3 l$ `" Q
--------------------------------------------------------------------------------
; y! ^! L, W- d% @$ ]4 k7 |  b$ E
: t9 z  I! y1 {1 l( E- A9 {, K5 D* R
稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。# y4 W1 m% A, Z+ p

) S, v0 X1 |; }1 @/ w; e7 n( J/ T然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:
5 D( q4 v; X. x6 O
. l8 l/ H0 |& ^' d6 K转自:动态网制作指南 www.knowsky.com 0 o0 K( Y- Z- k; d3 x

1 h. _. [+ P8 e& C4 ^color=#0066ff><html>& q8 n# Z# @6 Y& U; C1 @  C
<head>title=default server page</head>9 n* E, P$ N9 E: z% m+ C$ R1 c
<body>Default server page</body>
" F; Y$ [# Z2 ]; g3 Q- M: j</html>
- }3 R$ w" H8 k8 ]: b* g2 K! }5 O3 E: s) p. z0 {
让Apache 2为PHP做好准备
3 u+ h, n7 X" ]5 i$ E  M4 s# K5 S! v% m1 h! ]5 x
从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。
/ u1 c' V; d0 q& p- C$ _; ]( {6 p- @$ \$ D! H
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。
$ L1 U  E6 [/ e# F, r+ e# w; W5 v, p; U4 [0 d9 b& g! S/ @" p
Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
6 s* L9 \' p/ I' U% s0 Z* m9 `
" v& n4 w  |7 Z# e, N转自:动态网制作指南 www.knowsky.com+ U# O8 t& ?' a% l3 _: s9 ~( o

: A9 {8 b9 }5 c  {- A7 F, sDirectoryIndex index.html index.html.var # index.php
. D' h$ y6 _8 u" ]) [* s7 G$ ^ . M* ]& ~( E/ D/ o
为了允许Apache处理PHP页,要删除注释字符(#),变成:- `. F0 Z$ w* s/ n8 D2 K: N8 w9 l$ o
( K$ J' x% @/ f8 e  b6 L' z8 Q+ i4 \; C
DirectoryIndex index.html index.html.var index.php
1 ]/ D: K% D$ s7 j( W/ Y; X2 S  8 _6 ?! W3 ]% i$ a& k9 W7 r! }5 ?
" H( ?7 }: Z1 }" [9 W
还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。: N' g3 V+ o' q# z3 t. x5 g

* m( Z4 k* \4 N5 m5 R6 o8 D' [安装PHP, C# W! H. |1 d+ }

2 [3 v& A8 d* y* Y- r# f' l& s) w& k8 \
虽然可以下载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手册,它有多种语言的版本可供选择。4 S3 a9 ]8 E; Q- @: z

0 S, ?0 I) ?) b1 z   _' J$ j* t& `

6 t/ e6 P" F1 j6 X% U配置Apache 2来运行PHP4
3 t: [3 @3 u+ k9 |" v, j5 l' I9 t( i5 D& K& K3 s' H% ]
转自:动态网制作指南 www.knowsky.com
2 x0 x' L  R2 [现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:  `4 Y! ?, n3 |9 r0 _. R
8 j. r$ I9 z: l. J- l; \5 H; m
AddType application/x-httpd-php .php
2 P; ?2 J; w9 Y8 r% z" g+ v" E* ]
: B  j% K  ^( I; r& C# {* P将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。9 Z1 x+ S# G) i+ s: X) u8 v+ |/ C3 f

( L/ B5 F7 z& U) q: Zdoc_root = c:\apache\apache2\htdocs
" U! ^2 P+ e% U* w% Pextension_dir = c:\php\extensions6 m% D) D. P: Z+ r" r
session.save_path = c:/temp
) c; E* M& v4 o4 T# B
5 u4 F1 R7 q& a, ^& D" G( [: D在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。) @( k& V9 {# K& W$ }
5 \9 j! ?3 f# Q& D
下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行:
5 d# I- r2 u) }. G1 J  E- p4 j1 [) z% `% ?) F
LoadModule php4_module “c:/php/php4apache2.dll”
9 J' k- U( N+ q0 N, ^) T' Q$ w: U0 \
5 O; E) C+ I) z0 Y- R, c) d! l如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:
, Y( B1 Y' f% a5 k% _+ B  F . x) c% L% ?5 J( T/ X
ScriptAlias /php/ "c:/php/"! N# j& n6 O4 J7 g
Action application/x-httpd-php "/php/php.exe"4 }8 k0 S7 \. v% |% n
& W6 L( U' ~0 v2 k$ B5 a7 |# R, i
一切都搞定了吗?1 }! @: m9 a% j

+ q/ q0 O+ U( m1 S  W2 s1 `转自:动态网制作指南 www.knowsky.com
# E9 s6 G# R: b: Q8 {* i& x; E& S4 X1 ~  N8 t& B, P0 G& `2 y
保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?, r# T. x( J1 t# w
9 ], e  q# R# _9 {2 Y+ G
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:( \+ g" j9 `+ ?! T7 Z2 X3 [* R5 [3 u! X

8 C3 P5 G; Z0 k3 V  ]; A) qapache –k start+ ~) K% ?2 Q( A1 w; y& b
( t# H/ |# V& F6 Z* Z9 L/ ~* ^$ {
另外,如果Apache正在运行,可用以下命令重新启动它:! Q0 C/ {- k5 X# R! `
- X/ J* {  F: x, g
apache –k restart
* O4 E, [0 Z8 o$ z
& l6 M5 I6 _+ V5 k从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
' c& [3 N( e; N0 G( W) x$ c
  P, V, c) Y. c要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
# ]% [7 Z: D% X: H* | 2 I  B5 f- x! p4 }2 {8 J# ?3 x
<? phpinfo(); ?>1 H2 Y+ h/ s" |( H
5 `3 i3 W5 X" ~% @
将文件保存到主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。# W8 m& h) w; u3 b3 r. \% E9 {- o
8 X# v8 t+ t& L
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。2 W( F9 I% c3 X6 s1 d! z
3 r$ ], [: H& R7 u+ r7 |
(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-14 02:19 , Processed in 0.019763 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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