APACHE的两种运行模式详解
Windows下有两种方法使PHP工作于Apache2.0.x之中。一种是使用CGI可执行程序,另一种是适用Apache模块的DLL。不管哪种都需要编辑httpd.conf来配置Apache支持PHP并重新启动服务器。
注:记住在Windows下给Apache的配置文件中加入路径值的时候,所有的反斜线例如c:\directory\file.ext必须转换成正斜线,如c:/directory/file.ext。
以CGI方式安装
需要将以下三行加入到Apache的httpd.conf配置文件中以设定CGI:例子6-5.PHP在Apache2.0中的CGI方式
ScriptAlias/php/"c:/php/"
AddTypeapplication/x-httpd-php.php
#对PHP4用这行
Actionapplication/x-httpd-php"/php/php.exe"
#对PHP5用这行
Actionapplication/x-httpd-php"/php/php-cgi.exe"
警告
如果使用CGI方式安装,则服务器对于某些可能的攻击是开放的。请阅读CGI安全一章以学习如何防御这些攻击。
以Apache模块方式安装
需要将以下两行加入到Apache的httpd.conf配置文件中以设定Apache2.0的PHP模块:例子6-6.PHP在Apache2.0中的模块方式
#对PHP4用这两行:
LoadModulephp4_module"c:/php/php4apache2.dll"
#别忘了从sapi目录中把php4apache2.dll拷贝出来!
AddTypeapplication/x-httpd-php.php
#对PHP5用这两行:
LoadModulephp5_module"c:/php/php5apache2.dll"
AddTypeapplication/x-httpd-php.php
#配置php.ini的路径
PHPIniDir"C:/php"
注:记得用自己PHP实际所在的路径替换掉上例中的c:/php/。要留意在LoadModule指令中用的是php4apache2.dll或php5apache2.dll,而不是php4apache.dll或php5apache.dll,后者是设计用于Apache1.3.x的。
注:如果要使用内容协商机制,请阅读有关FAQ。
警告
不要在安装中混合使用来自不同PHP版本的DLL。使用下载回来的PHP版本中所提供的DLL和扩展库是唯一选择。