在 IIS 7 上显示 php 错误消息

在 IIS 7 上显示 php 错误消息

我在开发机器上使用 IIS 作为 Web 服务器,进行 PHP Web 开发。或者至少,我正在尝试这样做。

当 PHP 脚本中出现语法错误时,当我在 Web 浏览器中打开该文件时,只会收到 503“内部服务器错误”以及此错误的默认 IIS 错误页面。某些浏览器根本无法打开该文件,可能是因为 503 HTTP 响应标头。

我希望 IIS 在这种情况下像 Apache Web 服务器一样运行:无论如何显示有错误的 PHP 文件,以便打印出错误消息。

如何才能做到这一点?

编辑:

PHP 设置:

显示错误

开启并且

错误报告

设置为 E_ALL

答案1

对于 IIS7,默认情况下不会传递错误。需要设置的是“existingResponse”。

您可以通过运行以下命令进行设置(确保将 {sitename} 替换为您的站点名称)。

c:\windows\system32\inetsrv\appcmd.exe set config "{sitename}" -section:system.webServer/httpErrors /existingResponse:"PassThrough" /commit:apphost

答案2

要启用 PHP(和其他语言)的详细错误,请从命令行运行此命令:

%windir%\system32\inetsrv\appcmd.exe set config -Section:system.webServer/httpErrors -errorMode:Detailed

然后

IISReset

答案3

最佳做法是“静默地”记录在文件中。

但是,您可以通过在 php.ini 文件中将以下值设置为日志文件来同时实现这两者

error_log=<File Location>

答案4

在您的 php.ini 中设置:

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
display_errors = On

如果你想记录它们:

log_errors = On

相关内容