帮助中心 >
php-fastcgi配置

1.首先必须明白PHP的两种执行方式:ISAPI和FastCGI;
2.PHP5.3.6文件里面没有php5isapi.dll取而代之的是php5nsapi.dll原因。
1.首先必须明白PHP的两种执行方式:ISAPI和FastCGI。
(1)ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。
(2)FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。
FastCGI已经集成于IIS7也支持IIS6,在IIS6中的安装方法以下详述。
2.PHP5.3.6文件里面没有php5isapi.dll取而代之的是php5nsapi.dll原因:
PHP5.3 是不能在IIS6上面通过ISAPI扩展运行的,而且在PHP5.3 文件里面也没有php5isapi.dll,取而代之的是php5nsapi.dll,换句话说PHP5.3以后的版本就不再用ISAPI进行扩展在IIS里运行了,只能通过FastCGI的方式执行。据说它的效率很高的哟。(一直郁闷为什么我下载的php没有php5isa.dll,没想到PHP5.3不支持ISAPI了,晕哦)
FASTCGI
http://www.iis.net/expand/FastCGI 下载X86版本)
PHP
http://www.php.net/downloads.php
注意:下载php时请选择VC9版本下载(适用IIS+PHP)
安装FASTCGI时,需要.net2.0以上、windows 2003 sp2 或以上
.net3.5下载:
http://www.crsky.com/soft/21819.html
以下用PHP5.3.6来安装测试
1、安装php5.3.6
建议使用.zip而不实用.msi的安装版,此例以zip为例
解压php-5.3.6-Win32-VC9-x86到C:\php下
配置 php.ini
将 C:\PHP\php.ini-production 复制一个,然后重命名为 C:\PHP\php.ini
打开 C:\PHP\php.ini,
修改PHP.ini文件:
1、第531行改为:display_errors = On
2、第542行改为:display_startup_errors = On
3、第624行改为:error_prepend_string = "<br><font color=#ff0000>"
4、第630行改为:error_append_string = "</font><br><br>"
5、第813行改为:extension_dir = "PHP所放置的目录\ext\"
6、第854行改为:fastcgi.impersonate = 1
7、从948行到988行根据自己的需要修改
8、第997行改为:date.timezone = asia/Shanghai
其它的根据实际需要对 php.ini 进行设置修改,这里只针对能跑 php,修改完记得重启 IIS
二,FASTCGI安装
这里就不多说跟上面所说的FASTCGI的下载地址然后安装.如果之前没有安装.NET环境.会让您安装.NET这里就需要装上(安装FASTCGI时可能需要一定的时间)

安装后在 C:\WINDOWS\system32\inetsrv 目录下产生了五个文件
fcgiext.dll
fcgireadme.htm
fcgilicense.rtf
fcgiext.ini
fcgiconfig.js
同时在 IIS 的 “Web 服务扩展”里多了 FastCGI Handler
注册 PHP 到 FastCGI:
打开 C:\WINDOWS\system32\inetsrv\fcgiext.ini 文件
在 [Types] 下添加以下配置:
php=PHP
[PHP]
ExePath=C:\php5\php-cgi.exe
“php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。
三、配置网站
右键网站 =》 属性 =》 主目录 =》 配置 =》 添加
可执行文件为:C:\WINDOWS\system32\inetsrv\fcgiext.dll
扩展名: .php
重启您的IIS后可以写段PHP来测试一下能不能正常运行
<?php
echo phpinfo();
?>
我在安装中发生了以下几个小问题
1.打开测试页时显示 No input file specified.
这个是您的网站目录没有给相应的权限
2.打开测试页时提示错误码Error Number: 14001 (0x800736b1).
发生此错误的关键原因在于没有安装VC9运行库 即VISUAL C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
把这个安装上就可以了.