IIS6下配置php fastcgi 的教程

发布时间:2020-10-27编辑:脚本学堂
IIS6下配置php fastcgi 的教程

    fastcgi的IIS模块可以让流行的应用框架在IIS上支持FastCGI协议以提供高性能和可用性的访问服务,FastCGI面向现有的网络服务器提供高性能的CGI替代标准。
    具体PHP 安装方法我记录下来,其中包括出现的一个错误。

环境:
操作系统: Windows 2003 Server
PHP版本: PHP5.25

1.下载FastCGI For IIS6
http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en
下载后,双击运行安装.

2.下载PHP5.25 Windows版
http://www.php.net
下载.zip格式的版本,下载后解压至D:PHP目录,并给IIS启动帐户组或用户赋予读取和运行权限。

3.注册PHP到FastCGI
命令行下运行
 

复制代码 代码如下:
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"D:PHPphp-cgi.exe"

fcgiconfig.js 默认存放目录是:C:WINDOWSsystem32inetsrv

4.设置
将D:PHPphp.ini-recommended重命名为为D:PHPphp.ini
打开D:PHPphp.ini,修改:
 

复制代码 代码如下:
extension_dir = "D:PHPext"
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0

其它根据实际需要对php.ini进行设置修改
然后执行:
 

复制代码 代码如下:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:500
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:1000

以上两项设置最大池和响应连接数,可以根据运行机器的硬件配置、使用情况修改

重启IIS。
创建一个测试页面。

第一次安装时,为了服务器的安全我删除了wsshell命令,导致在第3步时出现如下错误:
Microsoft JScript 运行时错误: Automation 服务器不能创建对象
解决:重新注册命令:regsvr32 WSHom.ocx 即可。

重启IIS后,打开测试页出现如下提示:
FastCGI Error
The FastCGI Handler was unable to process the request.

Error Details:

Error Number: 5 (0x80070005).
Error Description: 拒绝访问。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)

解决:由于在解压PHP之后,没有对IIS启动帐户赋予该目录的读取和运行权限,修改文件夹安全属性。