IIS6下以FASTCGI方式配置PHP5


PHP #iis #fastcgi #安装2012-05-05 10:43

PHP的FastCGI使你的所有php应用软件通过mod_fastci运行,而不是mod_phpsusexec。FastCGI应用速度很快 是因为他们持久稳定。不必对每一个请求都启动和初始化。这使得应用程序的开发成为可能,否则在CGI范例是不切实际的(例如一个大型的脚本,或者一个需要 连接单个或多个数据库的应用)。

环境: 

操作系统:Windows 2003 Server 
PHP版本:PHP5.3.3

1.下载FastCGI For IIS6 
http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en 

下载之后,双击运行进行安装. 

2.下载PHP5.3.3 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 放到c:\windows目录下
打开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,赶紧写一个测试页试一下吧. 

<?php
phpinfo();
?>
放到网站目录,运行看成功了没有哦~

=======================

我第一次安装时,由于为了服务器的安全我删除了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启动帐户赋予该目录的读取和运行权限.修改文件夹安全属性,问题解决.

相关文章

粤ICP备11097351号-1