win7系统IIS 7配置PHP

PHP 2577 0 2014-01-28

win7系统IIS 7配置PHP

用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

天涯网魂 3 杠 5 星2014-05-09 09:29:41

修改php.ini中错误提示值为:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

修改php.ini中支持PHP短标签“<?=”输出:
short_open_tag = Off 改为short_open_tag = On

天涯网魂 3 杠 5 星2014-05-07 16:24:47

第三步时修改PHP.INI文件最好像以下这样:
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
extension_dir = "./ext" ;
date.timezone= Asia/Shanghai

天涯网魂 3 杠 5 星2014-05-07 16:22:29

把 php.ini-production 重命名为 php.ini,打开它,搜索并修改以下选项:
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
date.timezone= Asia/Shanghai

天涯网魂 3 杠 5 星2014-01-29 21:19:50

上面第5步可能会有所不同,参考下面说明进行:

打开IIS管理器->点击计算机名->在右边框中双击“处理程序映射”->在左侧找到“添加映射模块”

请先登录再发表讨论。 2025-07-04

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链