微软和Zend合作以后,针对IIS推出了专门的FastCGI支持,在IIS下运行PHP,应该采用FastCGI方式来运行,而不是ISAPI方式。
到了IIS7.0以后的版本,微软更进一步,将FastCGI内置到IIS中,也就是说,只要把PHP的ZIP包解压缩到本机任意目录,配置好php.ini(不用复制到别的位置),然后,不用添加环境变量,不用添加ISAPI过滤,只要设置一个地方,就可以在IIS下完美地以FastCGI方式运行PHP。
IIS 7.0 以上版本配置PHP的方式:
1. 在“Turn Windows features on or off(开启或关闭windows功能)”里,选择启用"Internet Information Service(IIS服务)”,这里别的选项可以根据需要选,但是一定要选中“World wide web services(万维网服务)”下面的“Application Development Features(应用开发组件)”下面的“CGI”这个项目。
2. 下载任意版本的 non-thread safe zip package of PHP(PHP的非安全进程的zip压缩包),解压到任意目录,比如“D:\Server\php”。
3. 把 php.ini-recommended 重命名为 php.ini,打开它,修改以下选项:
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
extension_dir = "./ext" ;神奇吧?通用配置,不管你的php装在哪个目录都OK,不用指定详细路径,这就是新特性了。
4. 激活你需要的扩展选项,这一步跟以前的任意版本都一样,就不特别说明了。
5. 打开“Internet Information Services (IIS) Manager(IIS管理器)”,左边选择你的计算机(建议如此,不要选择具体站点,配置完对所有站点生效),右边选择“Handler Mapping”,然后最右边选择“Add Module Mapping”,弹出的窗口里按下面的提示填写:
Request path: *.php
Module: FastCgiModule
Executable: "D:\server\php\php-cgi.exe"
Name: PHP via FastCGI
可以了,现在你的机器上所有站点就能以IIS7.5和PHP5.x官方推荐的最高效安全的方式运行PHP了,你可以根据自己需要安装mySQL 和 Zend优化,这些都和以前一样,就不说了。
http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/#EnableFastCGI