IIS6 + PHP + FastCGI 500错误 – 从哪里开始寻找?

我已经用FastCGI设置IIS6来使用php-cgi.exe。

我有一些外部的PHP网站,我试图在testing环境中运行。

其中一个网站只是简单的给我一个FastCGI错误页面。 这不会发生在每个页面上,它似乎只发生在某些页面上,而其他页面则正确显示。

  • :是否有某种方法可以在某处启用日志logging,以便我可以获得有关此问题的更多信息?

我已经看了

  • 事件日志
  • IIS网站日志(c:\ windows \ system32 \ Logfiles)
  • PHP日志

但没有结果,除了IIS网站日志提到一个500页的返回。

  • 问题 :有没有其他的方式来debugging/检查哪里可能出错?

以下是该页面的样子:

FastCGI错误

FastCGI处理程序无法处理请求。 错误详情:

FastCGI进程意外退出错误号:-1073741571(0xc00000fd)。 错误描述:未知错误HTTP错误500 – 服务器错误。 Internet信息服务(IIS)

回答

显然,错误消息意味着堆栈溢出,所以debugging是消息。 我不是一个PHP开发人员,所以这是一个非常痛苦的过程。 然而,我们把问题缩小到Ajax请求,但我想这可能会发生任何types的请求:

请求本身导致服务器返回500.在用Fiddler尝试请求之后,我们发现GET请求中的Cookie条目包含一个PHPSESSID项目。 当离开这个,请求确实工作。

所以这个问题的答案(在我们的例子中)是从请求中删除PHPSESSID。 现在剩下的就是搞清楚如何做到这一点:)

错误代码-1073741571 (0xc00000fd)表示堆栈溢出。 您将需要debugging您的代码。

尝试searchhttp://forums.iis.net 。 他们似乎build议您尝试升级PHP,或者导致PHP或fastCGI进程崩溃的应用程序出现问题。

祝你好运。

对于那些正在寻找答案的人,我花了大约两个小时在“500内部服务器错误”+ PHP +快速CGI和错误是一个web.config文件是在我的PHP应用程序文件夹(IIS创build一个自动)。

通过删除该文件,该应用程序已经成功工作。