IIS6下配置fastcgi的php5

分类:服务器| 发布:camnprbubuol| 查看: | 发表时间:2011/4/22


微软去年底发布了II6的FastCGI模块,今天将服务器上的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:\PHP\php-cgi.exe" 



fcgiconfig.js 默认存放目录是:C:\WINDOWS\system32\inetsrv 



4.设置 

将D:\PHP\php.ini-recommended重命名为为D:\PHP\php.ini 

打开D:\PHP\php.ini,修改: 

extension_dir = "D:\PHP\ext" 

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启动帐户赋予该目录的读取和运行权限.修改文件夹安全属性,问题解决.

FastCGI Error

The FastCGI Handler was unable to process the request. 

--------------------------------------------------------------------------------

Error Details:

The FastCGI process exceeded configured activity timeout 

Error Number: 258 (0x80070102). 

Error Description: µÈ´ýµÄ²Ù×÷¹ýʱ¡£ 

HTTP Error 500 - Server Error.

Internet Information Services (IIS)



解决方法:明显是FastCGI超时,打开C:\WINDOWS\system32\inetsrv\fcgiext.ini,添加或修改以下内容

[Types]

php=PHP

[PHP]

ExePath=C:\PHP\php-cgi.exe

InstanceMaxRequests=10000

EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000

RequestTimeout=500

ActivityTimeout=900

 

如果还不成功,可能需要安装SQL Server 2008 SQL Server Native Client。为什么访问2005要安装这个呢??不明白啊不明白啊。反正看了这个文件的说明,说是支持2005的访问的。下载地址:http://download.microsoft.com/download/A/5/F/A5F24C9B-8658-4356-B55B-CC333BF93928/sqlncli.msi

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/archives/272.html