iis下FastCGI 的常见-2147467259 (0x80004005)错误

昨天帮客户配置Windows2003的PHP支持,采用的是FastCGI的方式跑PHP,在安装完FastCGI和PHP的进行测试的时候发现,php页面总是返回一些fastCGI报的错误。
The FastCGI process exited unexpectedly Error Number: -2147467259 (0x80004005).
Error Description: 未指定的错误 HTTP Error 500 - Server Error. Internet Information Services (IIS)
搜索了写资料后发现也有很多人遇到了这个问题,有说缺少dll文件的,我测试了一下我的服务器环境不报这个错误,也有说是权限设置问题。经过我逐一试验,发现最靠谱的真的是权限设置的问题。
对了,先确保php.int 和fcgiext.ini的设置没问题。之后,直接运行php目录下的php-cgi.exe看有木有报错,有报错你就先照着提示修改下吧,没报错了再找找下面的方法去修改下相应的权限即可。
1. 你的php放置目录,添加用户“NETWORK SERVICE”,给于读取和运行的权限(这样cig就可以去跑php-cgi.exe了)
2. 你的网站放置目录,修改“Internet 来宾帐户”的权限,增加写入权限,这样php就能执行fopen fwrite这些写文件操作了
3. 你的网站放置目录,修改“IIS_WPG”的权限,读权限就好了,没有这个账户的话,你就增加一个吧
好了,需要设置权限的就这三个,设置好之后,你再跑个php页面,fastcgi应该就不会报错了。
华盟君