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

时间:2013-05-18 00:18:31

标签: php exception error-handling

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

<?php throw new Exception(); ?>

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

我在网上看到的所有内容都说未捕获的异常会导致PHP 的致命错误,这就是我在其他计算机上安装XDebug之前所记得的行为。

想法?

(请不要告诉我抓住异常。我正在尝试调查未捕获异常会发生什么。我的问题是关于它们。)

2 个答案:

答案 0 :(得分:3)

通常,服务器会导致服务器错误(500)并删除服务器错误日志中的条目。您可以通过在INI中设置显示错误来更改此行为

答案 1 :(得分:2)

转到php.ini文件并找到以下行

display_errors = Off

display_startup_errors = Off

并将两者都设置为

还设置

error_reporting = E_ALL

可以帮助调试

不要忘记保存并重新启动网络服务器服务(它的迁移是iss或httpd(如果您使用的是apache))