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

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

[复制链接]
发表于 2004-5-10 19:59:28 | 显示全部楼层 |阅读模式
Apache 2和PHP是创建交互式网站的流行方案,而且成本很低。在Windows中安装Apache 2是一件轻而易举的事情,但要使PHP 4与Apache 2配合无间地运行,就需要一定的技巧。$ ?9 u9 D( G0 t1 J0 ?4 o7 I

7 V2 H- I5 ]3 z1 A
0 g4 z$ }6 o) B( a) U# E转自:动态网制作指南 www.knowsky.com
7 J8 o7 R) p6 C# ?) {在PHP 4.3手册的Windows安装小节,没有解释如何让PHP与Apache 2配合使用,而有关Apache 2安装的小节缺失了你需要的大量信息。在网上公布的其他安装指南中,也包含了不少错误,使一些安装人员只好不断试验和犯错。例如,有些人甚至将PHP的DLL替换成其他PHP版本的DLL。OK,为了节省你的宝贵时间,我们准备了这篇最权威的指南文章,帮你扫除一切烦恼。) {0 v! F( L0 h1 k  h
# n: `2 b( k, y# U1 L

7 M$ K- k2 j( Y- v8 h' `
" y/ B, R+ k; H使用正确版本的Windows
; }: s% Q0 X. v& C. [) [/ C, l: L, G9 J
首先要说一说兼容性:Apache 2不能在Windows 95上运行;在Windows 98上勉强能够运行,但不能作为服务使用。从4.3版本开始,PHP也不再支持Windows 95。所以,你的Windows操作系统必须是Windows NT、2000或者XP。/ V! q: X$ P4 d4 P

- O/ b& |4 X: D2 N1 jApache 2:源码还是二进制?
6 I" {# @& `3 s7 h如果你有Visual C++ 5.0或更高的版本,或者安装了Microsoft Visual Studio,那么虽然可以根据源码来生成Apache,但请绝对不要这样做。在Visual Studio IDE中,Windows下的生成过程非常复杂。即使从命令行编译,也绝对不是一件易事。所以,除非你喜欢创建makefile,否则最好获得一份Windows Installer二进制发行包,也就是一个.msi文件。等你对Apache有了足够多的认识,知道自己要进行哪些定制操作时,才可考虑亲手生成(编译)Apache。- I* |6 I& m- Q1 f1 Z' H/ o- c

7 Z8 K$ [# A5 p5 ~如果已经安装好并正在运行老版本的Apache,首先要停止它,卸载它,然后才能开始安装新服务器。多个版本的Apache 2不能共存。& c  W* O. _* C" ~$ D% E/ Q# g

! K  q) w  [) P2 J双击Apache 2 .msi文件。同意许可协议后,会出现如图A所示的对话框。( K1 Y0 e5 R% \0 t/ g

* [  G* q" `8 f% ]) q) Q图A
$ a$ t( j6 p2 d. N! f7 ?
+ r: g% Y8 D( N3 Q- E; t  y& I2 {  F9 K
! M: [2 O/ C5 ?3 V, y! w5 {
转自:动态网制作指南 www.knowsky.com
7 A9 K" l: S0 o  P6 E  C& s0 v- V4 B
5 w9 H$ w% K# L3 s6 @+ g正确地设置Network Domain和Server Name(如果不打算将Apache安装到远程计算机,那么设置localhost就可以了),在Administrator’s Email Address区域输入你的电子邮件地址,保持端口80/服务选项单选钮的选中状态。在下一个对话框中如果选择Typical安装,可以快速地获得一个能实际工作的服务器环境。% F9 Z, s7 |0 c. v1 M( K: _& `
( T, e3 W1 L3 ]( h+ Y6 u8 S9 A$ [' x

- ^6 J; Z! [3 ?. A7 W) k  ~--------------------------------------------------------------------------------
2 h; e( n0 E1 P7 Z4 Q5 |5 t2 v$ G6 N7 ^9 L
安装提示0 t; h: g8 a9 A# a+ ?
建议将默认安装目录从C:\Program Files\Apache Group变成C:\Apache或者符合8.3文件名格式的其他名称。这样一来,以后每次输入Apache安装路径时,都不必为其添加引号。
; `; J' y2 X1 L4 y- I/ W
) ^: o' c2 u0 p5 n; d* r; {- i7 G9 Q
( S6 Q; p% d: q2 `--------------------------------------------------------------------------------+ X4 r! Z- _' s- V

  e: g+ ]8 u, y% \8 }  J% M5 f0 w
7 l- z7 y: O& x. q稍候片刻,安装向导会告诉你Apache 2安装成功。接下来惟一要做的事情就是进行测试,请打开浏览器并访问localhost,这样应该看到默认的Apache 2主页。7 H: Z/ h" c& E* e5 ~  I

1 i/ H" T) O& Z7 ]( e; V. h然后可以删除主Web服务器目录中的所有示例文件,它们默认位于C:\InstallDirectory\Apache\Apache2\htdocs中。如果有一个现成的主页Index.html,请把它拷贝到这里;另外,也可以马上创建一个空白主页。对于未初始化的HTML,以下代码就可以了:1 e% i# x- a5 w+ G
! @( J! E: P% {) `( A) W: h$ S
转自:动态网制作指南 www.knowsky.com
+ g* V% ^7 e0 E( Z4 a6 E* W: W% g. w" K3 [1 K  n
color=#0066ff><html>
" N3 e7 ^4 i. h* q% S8 ^. u<head>title=default server page</head>
9 \$ T) f5 `$ I+ v. w$ m<body>Default server page</body>/ L7 x2 K  k+ T4 p+ |* }6 c
</html>
& ?! |/ m+ C+ Z' {. ^
0 g, F! S. b4 X8 l2 }( \让Apache 2为PHP做好准备
. }' F. f0 e3 E( o2 M1 A
. [5 B5 M. Y. ?+ a6 z从现在开始,你需要较多地以人工方式进行安装,不能简单地点击和选择几个选项了事。尽快习惯它吧,这才是Apache的方式。你需要编辑文件来设置不同的配置选项;如果操作不当,你所做的修改就会妨碍Apache的正确加载。如果设置引发错误,那么错误可能被记录到Apache 2错误日志中(默认为C:\InstallDir\Apache2\Logs\Error.log)。但能够像这样进行记录的毕竟是少数,大多数错误只会记录到Windows事件日志中(开始| 设置| 控制面板|  管理工具| 事件查看器)。
: F, g* y: u" H# @/ y# {) V* O4 J" s$ r
令人遗憾的是,在你对安装设置进行调试时,Windows事件日志并不是一个方便的工具。更好的做法是在命令行窗口中测试Apache服务器的加载,这样能立即看到错误报告。所以,在完成了我即将讨论的配置修改后,请打开一个命令行窗口,切换到Apache的binary目录(C:\InstallDir\Apache2\bin),在那里启动Apache。8 h. U, a% Q$ A1 k4 E6 n/ A' g
! r7 w+ A" G# o7 X/ S5 v
Apache配置文件是C:\Apache\Apache2\Conf\Httpd.conf,可用任何文本编辑器来编辑。查找DirectoryIndex,定位到下面这一行:
2 F4 r. d% P% H' N7 I' {4 y. X4 H- n7 @* ~! x/ @' u* ~4 k
转自:动态网制作指南 www.knowsky.com
4 U2 ~* K* n$ \
3 a2 F1 _9 J9 z- g/ H8 q9 w6 z! O1 C. r1 ]DirectoryIndex index.html index.html.var # index.php# x7 i) h& H8 F2 \# H2 i( k4 s6 j6 \

3 _" J! _+ `/ p% h3 `4 n( A0 ?为了允许Apache处理PHP页,要删除注释字符(#),变成:
  F7 t+ D4 V! \5 W8 g
( n' P7 W7 j0 I9 ^DirectoryIndex index.html index.html.var index.php$ E) _. z' J6 L6 N' ]
  ! W4 U2 l' e2 Q6 b& o/ p7 p2 F

: r! g, r- `( P7 ?* \1 q4 Y3 D还要允许在任何目录中使用.htaccess文件,所以请在配置文件中查找AllowOverride,把这个设置从None改成All。保存了所做的改动后,可继续在文本编辑器中打开该文件,因为等会儿安装PHP时,要再次编辑这个文件。
, g0 T' Y& S9 a; \5 t  i
8 H) a/ a0 }0 n5 }3 z, C- d/ y安装PHP
2 x- {- o* @( N: C1 w/ B7 b  N4 J9 @8 k' N4 ~
  e! x$ r3 H% Q- \
虽然可以下载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手册,它有多种语言的版本可供选择。; S" H, _( V. v' g: d, {- ]9 b. }
! m5 G  h: p* `7 X

: @6 [( u$ K& ~' x+ V/ X* _1 e  u. ^( N5 ?5 A$ K' o8 i6 u
配置Apache 2来运行PHP4# t" ^7 [$ j4 I; ^9 u# X9 \, E3 k5 c

/ M" n+ l* _$ X! D9 n! M转自:动态网制作指南 www.knowsky.com
2 v! Q1 C/ \8 R+ d2 S* u+ G* y现在来到了最有趣的部分:将Apache和PHP完美地配合起来。首先,请将C:\Php\Dlls目录中的所有DLL文件拷贝到Windows的System目录(%windir%\System)。接着,在Apache的配置文件(Httpd.conf)中查找包含了大量AddType命令那个小节,自己添加下面这一行:
  e+ R- x; W6 a8 n$ \  ]3 W9 o0 N* @' e
; Q' O; ~; L% |9 n( N( @+ WAddType application/x-httpd-php .php1 E, x. n+ e, L2 q9 ^9 O) P

8 b/ z- e* W7 t2 d& u7 a4 v! Q( _将C:\Php\Php.ini-recommended拷贝到Windows目录(%windir%),把它重命名为Php.ini,并用文本编辑器打开它。编辑其中对doc_root、extension_dir和session.save_path进行设置的3行,使其和下面展示的一致,注意要把InstallDir替换成你的Apache 2的安装目录的名称。; a: `- d0 C. j8 k/ T) H3 d
/ G! z; T1 b% F6 h( g2 N
doc_root = c:\apache\apache2\htdocs
) i0 p7 D: c1 x4 f% nextension_dir = c:\php\extensions9 C1 ?" h) ~# Y8 }0 I
session.save_path = c:/temp
( L6 x* d& j1 Q9 x
7 l( }4 y5 C4 _( ]在session.save_path中使用正斜杠和反斜杠都是允许的。PHP手册声称这些路径参数需要在最后添加一个反斜杠,但这个说法是不正确的。在PHP 4.3中不需要这样做。另外,如果C:\Temp不存在,请自己创建它。6 A- U0 n- r% [3 b8 N8 |

8 o7 |/ a+ d3 e6 j+ N" L! d下一步是允许Apache将PHP程序作为模块来运行,这要求你采取2个步骤。首先,将C:\Php\Php4ts.dll拷贝到Windows的系统文件夹(%windir%\System)。在Httpd.conf中找到LoadModule小节,自己添加下面这一行: ( |! q, @( b9 z; v3 t5 ^( j" ^
+ w6 @) m! P1 d0 E' Z# U
LoadModule php4_module “c:/php/php4apache2.dll”
$ B9 `' n5 ?, t0 L; v2 H
% d4 J3 y3 u& Q# A* C2 ^0 H( D% G& }如果你出于某种原因而需要在CGI模式中运行PHP程序(使用Php.exe),请将上面这一行变成注释,并在Httpd.conf中添加下面这些行:/ H* S% z# H4 q4 c" p

" [6 p% P- t' D) P, d" _1 s6 ZScriptAlias /php/ "c:/php/"& X) ~0 A& r8 N% {9 g
Action application/x-httpd-php "/php/php.exe"
2 E6 m: w+ V; j9 u2 L- l) A8 O% U4 H+ g7 f. F( r) z* |
一切都搞定了吗?
0 n2 c( W5 M" |4 P- f$ d. l6 {3 K, F. }1 ~3 i! n$ Z8 w3 d
转自:动态网制作指南 www.knowsky.com
8 R9 ~& n, s. [5 P- L5 A& T7 F3 \5 h" T  _0 J8 W% H( S
保存所做的更改后,你需要亲自去证明两点,才能确保Apache 2/PHP 4成为一对完美的搭档:Apache能正常加载吗,它能正确处理PHP页吗?
) I8 J6 V0 r% d" Q! T' Q, Q- L5 i  i5 r2 v( }1 t
要知道Apache是否能够正常加载,在你已经打开的命令行窗口中输入以下命令:. d- w+ p$ ]' _$ a0 U7 l
# t) T9 F6 w* s8 u; _
apache –k start
& N5 x/ h6 p* J
; W8 Z; Q6 I% v2 E. `: o另外,如果Apache正在运行,可用以下命令重新启动它:
) T2 B2 @' P% B2 j2 V* P9 T$ B# I3 e# U ( D5 Z$ H; L& d( }8 K' [* w
apache –k restart( C* _  c5 J- w

% d  b1 W7 R/ s1 ^* x5 ]$ p. u从命令行启动Apache的好处在于,如果出现一个错误,Apache会立即报告它。你可能遇到的最常见的问题在于,Apache可能由于某种原因而无法加载Php4apache2.dll。如果Apache报告了这个错误,请按前面所述的步骤重新操作一遍,确保一切都没有错误。6 v3 {1 D4 z& D, B7 K, {
; T0 b" C6 _. n  A5 A# W. i
要知道Apache是否能正确地处理PHP页,请用你的文本编辑器创建一个简单的PHP页,命名为Phptest.php,其中只包含下面这一行:# a; B' g' o& X
9 t. f2 s) b5 Z* {4 [% I
<? phpinfo(); ?>6 x( f2 V. k4 b

; Z! H) e, V8 ^: z9 j, u  R8 \将文件保存到主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。
* D( ?4 o& a3 ~, M9 |! u) _0 V
虽然在Windows上安装Apache 2和PHP并不是一件容易的事情,但也完全没必要采取摸着石头过河的做法。通过本文的说明,你应该可以快速搭建起这个史上最好的、成本最低的Web开发环境。2 L" Z; K6 B+ Y* g
, q, n1 R9 }3 @9 q% X+ U3 K- h3 o6 r/ A1 v
(出处:百当网络学院)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-20 00:59 , Processed in 0.036309 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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