用Windows 7的人越来越多了,很多做PHP开发的平台也转移到的win 7,因为做web开发肯定要考虑到兼容性,所以还是用Windows开发的比较多,毕竟Linux下面没有万恶的IE浏览器嘛。
之前因为一个asp项目配置了一下IIS 7,当然也想着这IIS上面跑一下PHP,仅供参考。
微软和Zend合作以后,针对IIS推出了专门的FastCGI支持,在IIS下运行PHP,应该采用FastCGI方式来运行,而不是ISAPI方式。
关于PHP不同版本之前的区别,请参照:PHP 下载时 VC9、VC6、Thread Safe、Non Thread Safe 的含义
到了IIS7.0以后的版本,微软更进一步,将FastCGI内置到IIS中,也就是说,只要把PHP的ZIP包解压缩到本机任意目录,配置好php.ini(不用复制到别的位置),然后,不用添加环境变量,不用添加ISAPI过滤,只要设置一个地方,就可以在IIS下完美地以FastCGI方式运行PHP,个人感觉貌似人性化了很多。
IIS 7配置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. 激活你需要的扩展选项,这一步跟以前的任意版本都一样,就不特别说明了。常用:
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
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和PHP5.x官方推荐的最高效安全的方式运行PHP了。
有兴趣的童鞋可以试试。
上一篇:PHP程序中的 Notice: Undefined index:解决方法
下一篇:php运行出现Call to undefined function curl_init()的解决方法
讨论数量:4
上面第5步可能会有所不同,参考下面说明进行:
打开IIS管理器->点击计算机名->在右边框中双击“处理程序映射”->在左侧找到“添加映射模块”