本文目录一览:
- 请问php在apache下运行有几种模式,区别是什么?该怎样设置,谢谢
- [请问什么是Module和Isapi?php在apache运行模式Apache module、cgi、Isapi有什么分别?](#请问什么是Module和Isapi?php在apache运行模式Apache module、cgi、Isapi有什么分别?)
- 搭建PHP运行环境时为什么Apache总是运行不了,试了好多种集成软件都一样,该端口也不行,求解。
请问php在apache下运行有几种模式,区别是什么?该怎样设置,谢谢
Windows 下有两种方法使 PHP 工作于 Apache 2.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 在 Apache 2.0 中的 CGI 方式
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
# 对 PHP 4 用这行
Action application/x-httpd-php "/php/php.exe"
# 对 PHP 5 用这行
Action application/x-httpd-php "/php/php-cgi.exe"
警告
如果使用 CGI 方式安装,则服务器对于某些可能的攻击是开放的。请阅读 CGI 安全一章以学习如何防御这些攻击。
以 Apache 模块方式安装
需要将以下两行加入到 Apache 的 httpd.conf 配置文件中以设定 Apache 2.0 的 PHP 模块: 例子 6-6. PHP 在 Apache 2.0 中的模块方式
# 对 PHP 4 用这两行:
LoadModule php4_module "c:/php/php4apache2.dll"
# 别忘了从 sapi 目录中把 php4apache2.dll 拷贝出来!
AddType application/x-httpd-php .php
# 对 PHP 5 用这两行:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# 配置 php.ini 的路径
PHPIniDir "C:/php"
注: 记得用自己 PHP 实际所在的路径替换掉上例中的
c:/php/
。要留意在LoadModule
指令中用的是php4apache2.dll
或php5apache2.dll
,而不是php4apache.dll
或php5apache.dll
,后者是设计用于 Apache 1.3.x 的。 注: 如果要使用内容协商机制,请阅读有关 FAQ。 警告
不要在安装中混合使用来自不同 PHP 版本的 DLL。使用下载回来的 PHP 版本中所提供的 DLL 和扩展库是唯一选择。
请问什么是Module和Isapi?php在apache运行模式Apache module、cgi、Isapi有什么分别?
IIS 运行 PHP 有两种模式:ISAPI 和 FastCGI 模式。 Apache 运行 PHP 有三种模式:CGI、FastCGI 和 Apache 模块。
IIS: PHP 5.3 以前的版本支持 ISAPI 和 FastCGI 模式,现在只支持 FastCGI 模式。 Apache:PHP 依然支持 FastCGI、CGI、Apache 模块三种模式。
IIS 如何配置支持上面两种模式:
- ISAPI 模式配置方法:操作简单,网上搜搜。注意:PHP 5.3 以前的版本支持。PHP 5.4 和 PHP 5.5 都不支持。
- FastCGI 模式配置方法:这个模式的配置,需要下载
fcgisetup_1.5_x86_rtw.msi
这个软件,才能使 IIS 支持 FastCGI。
Apache 如何配置支持上面三种模式:
- Apache 模块模式:在
httpd.conf
文件中添加下面代码:
LoadModule php5_module "c:/php/php5apache2.dll"
- FastCGI 模式:在
httpd.conf
文件中添加下面代码:
Action application/x-httpd-php "C:/php/php-cgi.exe"
注意:更改相应的路径。
- CGI 模式:由于现在很少使用,不用过多了解。
搭建PHP运行环境时为什么Apache总是运行不了,试了好多种集成软件都一样,该端口也不行,求解。
可能你原来安装过 Apache 服务器或者其他服务器,没有卸载干净,所以端口还被占用着,你可以在新安装的 Apache 的配置文件中给 Apache 指派新的端口。或者卸载干净原来的东西。再或者你的 Apache 配置有问题。查看一下日志文件就知道了。