IIS6上的PHP5-指定的CGI应用程序行为不当

IIS6上的PHP5-指定的CGI应用程序行为不当,php,iis,Php,Iis,PHPV5.2.8 Windows Server 2003 SP2(我相信是IIS 6,但我在IIS管理器的任何地方都找不到版本) 完全错误是: "CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers." 我从bitnami.org安装了WAMP堆栈,当通过Apache访问时,PHP页面工作得非常好,我在8888端口上运行了Apache。但是,由于网络

PHPV5.2.8

Windows Server 2003 SP2(我相信是IIS 6,但我在IIS管理器的任何地方都找不到版本)

完全错误是:

"CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers."
我从bitnami.org安装了WAMP堆栈,当通过Apache访问时,PHP页面工作得非常好,我在8888端口上运行了Apache。但是,由于网络配置和防火墙的原因,我必须在端口80上的IIS服务器上运行此功能。端口80上运行着其他网站,包括一个无法更改的默认网站。不幸的是,我还必须将其作为虚拟目录(如www.myserver.com/phpapp)运行,而不是作为自己的网站(如phpapp.myserver.com)运行。原因是我无法控制的防火墙需要新的直通规则来允许访问新的子域

当php应用程序在IIS中作为自己的“网站”运行时,来自Bitnami的相同WAMP堆栈在另一台服务器上运行良好,因为我可以添加一个新的php ISAPI过滤器,但该选项卡/选项在虚拟目录上不可用

我已经在IIS管理器中安装了php“Web服务扩展”。我在web服务扩展中尝试了php cgi和php5isapi.dll。此外,我在网站“配置”映射下尝试了这两种方法作为“应用程序扩展”

我还尝试了php5isapi.dll和php-cgi.exe的混合/匹配组合,用于“web服务扩展”和网站“配置”扩展映射

我在php.ini中尝试了一些调整(包括确保doc_根为空)。但是,正如我前面提到的,当通过Apache端口访问该网站时,该网站运行良好。IIS指向完全相同的目录

究竟是什么导致了这个错误?我花了相当多的时间在网上搜索,这个错误似乎是出于几个不同的原因突然出现的。如果有一个PHP应用程序对响应进行了原始写入,而没有先写入头,则会导致此错误。当PHP错误导致某些格式错误的重定向时,某些PHP应用程序可能会导致此错误

我的php错误日志在运行中丢失。在我的php.ini中

error_reporting  =  E_ALL
display_errors = On
log_errors = On
display_startup_errors = On
error_log = "c:\temp\php.error.log"
但是c:\temp中从来没有日志文件。我还尝试了转义斜杠,并尝试了路径中的正向斜杠,但日志文件从未显示

再一次,我觉得有必要提到,这一切都可以通过apache正常工作,因此似乎PHP本身并没有因为一些奇怪的配置而停止运行(尽管我找不到日志文件),更不用说这是我在另一台计算机上使用的同一个PHP.ini,它可以通过IIS正常工作(PHP应用程序是它自己的“网站”)而不是虚拟目录)

我不知道还能提供什么样的信息,但经过几天的断断续续的斗争,我已经不知所措了。如果我放入一个HTML页面,我可以通过IIS在这个虚拟目录下访问它。这是什么原因造成的


我尝试运行的应用程序是vBulletin。除了在应用程序中对PHP的正确性给予信任之外,我不确定这有多重要。

这应该解决所有问题,解决这些问题

IIS辅助PHP安装程序

我的服务器也有同样的问题。我告诉它的系统管理员,他说,他改变了超时和回收选项,这是不会再发生了。我的意思是,他改变了IIS中的超时和回收设置。。。