IIS7用FastCGI运行PHP配置

用PHP Manager for IIS是最简单的办法

安装好IIS后,直接在微软官网下载WEB平台安装程序

http://www.microsoft.com/web/downloads/

运行后,在右上角搜索框输入PHP,选择你要安装的版本,点安装就行了。它会自动把相关的依赖安装好,并且配置好,省去了很多麻烦。顺便说一下,微软的C++运行时真是奇怪,同样的名字同样的版本,可以安装多个,不同的版本在已安装的程序列表里面显示的大小差很多。微软为什么不用update强推C++运行时呢?


以下的办法已过时

先下载PHP

http://windows.php.net/download/

因为是用cgi方式运行,下载Non Thread Safe(非线程安全)版本即可

然后下载PHP Manager for IIS

http://www.iis.net/downloads/community/2010/09/php-manager-for-iis-7

安装好PHP Manager for IIS后,在IIS界面中会看到一个PHP Manager的图标。双击它,注册新的PHP版本,选择PHP所在的目录中的PHP-CGI.exe。

点确定。

然后在PHP所在目录中,找到php.ini,修改三个地方,改成这样:

cgi.force_redirect = 0

cgi.fix_pathinfo=1

fastcgi.impersonate = 1

很简单的几个步骤,就算是安装好了。

---------------------------------------------------------------

我装过好几次,不用PHP Manager也弄过。但令人非常郁闷的,跑一个phpinfo,死活来不起。

HTTP 错误 500.0 - Internal Server Error 

对找不到的文件启用文件监视

0x80070003


百思不得其解,网上各种搜寻,信息很少,估计遇到了的人不多。

重装VC++ 2008 runtime,换PHP版本,各种权限设置,重新注册IIS,试了个遍,仍然不行。但是在PHP目录下命令行直接运行php-cgi又是正常的。

从理论上讲,问题出在IIS上面。就这样浪费了我三个小时,一度想装个Apache又不甘心,毫无办法之下,打开服务。

竟然发现里面的World Wide Web Publishing Service没有运行,而启动类型是设为自动的。于是运行它,刷一下网页,可以了。

粗略看了一下系统日志,没有找到WWWPS这个服务出错退出的情况。

各种无奈中,算是又得了个经验。。。

---------------------------------------------------------------

跑了几下,又停了,然后500.0,继续无奈中,已换回Apache。


你可能感兴趣的:(IIS7用FastCGI运行PHP配置)