如何显示和loggingIIS7上的PHP错误?

我们正在IIS 7服务器上运行PHP 5.2.5,而且我们遇到了PHP错误可见的问题…在我们发生PHP错误的时刻,服务器发回一个500错误消息“The page can not因为发生了内部服务器错误而显示“。

这可能是一个很好的生产网站的设置,但它是一个开发服务器上相当烦人… 😉

我曾尝试configurationphp.ini显示屏幕上的错误,以及将其logging到特定的文件夹,但似乎服务器捕获所有错误之前,防止和处理的PHP …

有人知道我们必须做什么,使IIS在屏幕上显示PHP错误? 任何链接,tipps或主题的教程将不胜感激!

只要仔细检查,你有日志logging设置为error_reporting = E_ALL ,并display_errors = On在您的php.ini ? 通常这足以在IIS 7中显示这些错误。

接下来,看看你的IIS设置,因为它可能被设置为只显示本地错误消息。 在IIS 7configuration编辑器中,这是在system.webServer-> httpErrors下。 您将需要将errorMode更改为DetailedLocalOnly中的详细信息。 显然这意味着任何浏览你的网站的人都能看到这个错误。

在这里输入图像描述

在这里输入图像描述

或者,如果您想让它们保持本地化,则可以使用远程桌面login到服务器,并从中运行应用程序(如果可以的话)。

只是想补充一点,那就是“existingResponse”应该设置为“PassThrough”。 没有额外的设置我没有得到任何真正的错误消息。

您可以使用IISpipe理器GUI轻松完成此操作。 select您的网站,然后双击错误页面。 然后点击“编辑function设置…”,然后select“详细错误”选项,而不是默认的“本地请求的详细错误和远程请求的自定义错误页面”。 Voilà,那么简单!

我不得不进入到PHPconfiguration的networking服务器的设置,并有一个设置在那里的错误报告,并设置为生产默认情况下。 即使在改变了php.ini和这里的build议后,也必须改变它的发展。 我在2008 R2上使用iis 7.5。