未捕获的PHP异常导致500服务器错误


uncaught PHP exception causing 500 server error

在新安装的MAMP中,未捕获的PHP异常导致HTTP 500服务器错误,而不是被PHP捕获。例如,这个程序会导致500:

<?php throw new Exception(); ?>

这是整个文件——没有调用set_error_handler或其他任何东西。在我的另一台机器上,我安装了XDebug,未捕获的异常产生一条XDebug消息,所以这两种情况不能直接比较。

我在网上看到的所有东西都说未捕获的异常会导致PHP的致命错误,我记得在另一台机器上安装XDebug之前看到过这种行为。

想法?

请不要告诉我捕获异常。我正在调查未捕获的异常会发生什么。我的问题是关于他们的

服务器通常会导致服务器错误(500),并在服务器的错误日志中删除一个条目。您可以通过在INI

中设置显示错误来更改此行为。

进入php.ini文件,找到以下行

display_errors = Off
display_startup_errors = Off

并同时设置为on

也设置

error_reporting = E_ALL

可以帮助调试

不要忘记保存并重新启动web服务器服务(它可能是iss或HTTPD(如果你正在使用apache))