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

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

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

( N2 S8 g. p! r0 B3 e. p: Y转自:动态网制作指南 www.knowsky.com
, K/ Z3 B' b  u' u- N在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。
' V! |* u& H" |/ K2 C' W
; ]$ S9 c- z3 E- A& _
( b3 @. W2 l& k8 ~
$ W5 D! z1 L/ c5 K8 r4 W) b# Z使用正确版本的Windows
8 n$ F8 U) z4 ^' j+ a# [
5 ]! Q$ H  ?; s' N* o" l* t首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。
1 `% h8 ^. U' J; |6 r2 K4 h! a. E& B- G/ t! ]" r9 ]
Apache 2:源码还是二进制?
7 ?8 h2 k3 W" O$ f4 ]( p+ x如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。
6 @, c) G2 P# U% [$ M2 \3 n
# a4 I- C; ~1 z如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。! m" M" l  J; h( i8 G3 U

+ t3 z+ ^% w, |: j+ ]' D双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。
; X9 ^5 O1 r+ x; a1 q( R
% ^! t7 k" b: `' |# |图A
( C# K% R' u) ^/ ]+ d! W
, }6 S2 p& W  Y& o* C1 y+ }( v! p% C! [3 e

; F: }$ q. q+ B4 G4 w转自:动态网制作指南 www.knowsky.com
7 T& ?9 B' k! ~. ?$ L0 \: p7 E+ k" j7 F. @
正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。# S. A8 ], W) P' d
0 w, y# n; t* A; R- J* S: P
: L7 ~5 x' h6 W; y4 Y
--------------------------------------------------------------------------------' M& J( J2 V  v

, w. i6 W. q1 P+ b# P安装提示! ]0 ^5 t# e: X
建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。' D+ _6 r) p1 \& L% i. o, z, Z
+ i- o5 v+ n6 Z

1 |: D5 Z$ B/ e6 F) x# e1 ?--------------------------------------------------------------------------------' v: T: ?$ `( u6 S7 ^& Z- _# O
& _4 g% n, G* G
2 U8 Q% l2 c; ~4 o9 a: H* ~- Z' `
稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。+ Z% r4 [2 h0 |$ O

1 W! u) f1 n8 Z# k: Z- Q然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:* F) r; k0 n. y: |) V4 M

2 {5 ~  F0 P& _: m0 f转自:动态网制作指南 www.knowsky.com
2 N. l; r# \$ ~  J6 f) Y5 N  A
) h5 S3 q8 r5 i: N: @7 e( T  ]$ Wcolor=#0066ff><html>
5 `& _* n4 k/ k  {" i8 ^5 o<head>title=default server page</head>
+ }( Y, s/ T3 z' k<body>Default server page</body>
7 _+ ?* k( y( n5 ?+ G</html>
7 T% t3 S, d# `" x5 N5 }3 G
3 s( K+ w6 O9 }* o让Apache 2为PHP做好准备
* P& `9 v7 F9 T, R
  P1 X0 i& K9 i% t从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。
% K( {$ }+ f# J- }2 G4 V* X1 E2 f3 m
1 R4 ^- z* ]4 H. K9 ^令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。# v/ j8 ~: a  o" b1 G

2 r0 Y1 a: M' \) `, QApache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
4 m0 m+ x: f8 p& F; ?% g
- j# h; I7 d3 D3 Q! n转自:动态网制作指南 www.knowsky.com
/ q" l% c: @6 S7 {
) r  s+ {4 K! _* D% T  LDirectoryIndex index.html index.html.var # index.php
+ a! P/ i' M, @5 U) B& a" m : F6 A. w0 X% v1 c3 R: d
为了允许Apache处理PHP页,要删除注释字符(#),变成:
& n7 F+ U; |8 F3 @  n% Z ' f, }! N- e4 k
DirectoryIndex index.html index.html.var index.php
. r! J6 s2 k# j3 T8 B3 H  - P. d( n" i) b

4 h* |- X; q) o0 b6 l还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。* A3 z( C- s; E* ^  |8 E5 C/ n
% K" W; V- L" G% r2 b( m, w' Z
安装PHP- U/ d9 c( }5 {  D* @1 D

2 c7 c& t5 g* M$ F) Q8 l( K8 a0 y# h" N/ i3 A
虽然可以下载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手册,它有多种语言的版本可供选择。# y+ U/ G7 L. n; u9 H
1 O( b* V: r5 P. g1 K$ P8 J
; a9 w3 ^* _" @' q3 ]
% L/ H# |- h1 s
配置Apache 2来运行PHP4- {* n$ k3 L; z8 j
/ x, H3 _4 L3 b) D8 y
转自:动态网制作指南 www.knowsky.com
6 a( G4 v3 Z6 o) c0 }4 a9 E现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:. w# s) d1 m! P7 A
( J- m) z$ e) {  v8 E; N
AddType application/x-httpd-php .php
. ~! i6 N9 o* b
9 H; E" X6 _1 P* w5 n+ J) W1 U将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。7 s3 t' T* f/ B* s) E: [

% d. Z; q* h9 Z2 Vdoc_root = c:\apache\apache2\htdocs
4 T. F' O, Z3 n, Aextension_dir = c:\php\extensions# @2 M8 L/ x, ]  S, W8 [: `$ _& Q( H
session.save_path = c:/temp
: V/ E! F& o! [; L1 `: E, u
+ l3 _& Y  e5 T8 t. z' [4 b在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。
  i0 r7 t) Z" f4 E  C2 `4 j0 G  R, N" e1 t9 }4 g  h
下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: 9 _/ m  u5 v& ?" _+ \7 h1 @6 ~; i

/ S  U$ y/ ?) ~1 {0 iLoadModule php4_module “c:/php/php4apache2.dll”" }& {+ H/ _: q1 Y$ h$ b

4 a3 I1 H$ }$ z, ~) s6 p如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:8 B# L3 M( G/ Y" Q/ _2 Q. Y0 u. S
6 K6 Y+ a8 c7 q8 X) {& x% [: Z2 m$ l
ScriptAlias /php/ "c:/php/"7 @- _- U0 w2 \2 G3 J7 e
Action application/x-httpd-php "/php/php.exe"
( h4 ^; L. g# Z. F# R0 Y% J
* Y* @7 _2 C$ k$ r7 Y6 O一切都搞定了吗?/ x3 J  A( |) {& M" i
& C' A3 C8 v/ v6 Z% [
转自:动态网制作指南 www.knowsky.com
9 R/ M+ T9 o% O7 [8 P
) M6 x/ s% `4 R" r0 ?, y3 D保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?- g( Q& ~# U7 B3 {
, N/ J6 W, q; t; {2 w$ e
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:, w0 B  @& F+ p  K

; S* Q6 q. D- C! b- ^# P8 N5 B7 h) l/ Rapache –k start! B3 K, N' g9 Y
/ }+ ]) V, p. |. K$ v
另外,如果Apache正在运行,可用以下命令重新启动它:; }6 k4 v% w# G

3 Z- `6 y; C: F" u0 s1 i' F$ s( `! ?apache –k restart- Q+ P* X* ?  b/ ?0 Y4 y

* O5 C! S2 ^9 |/ _1 t从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。
# J2 t4 T$ @& p; I' D4 Y0 k! W4 G
7 q/ k, ?+ |9 m. s要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:
# Y: l% q  ?/ {
# \; B' I7 d" Y9 Y; ^# s5 ?# t<? phpinfo(); ?>
( @2 z4 {7 v/ L- O2 c / c1 M5 M$ z8 q" A
将文件保存到主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。, e0 @1 d* b: v: s4 p( ~* Y$ H8 c

" M8 R4 |  q7 O# e虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。0 q; f  k2 k' g
5 b: |! R) i# @
(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-30 13:17 , Processed in 0.035091 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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