在新安装的MAMP中,未捕获的PHP异常导致HTTP 500服务器错误,而不是被PHP捕获。例如,该程序会导致500:
<?php throw new Exception(); ?>
这是整个文件 - 没有调用set_error_handler或其他任何东西。在我的另一台机器上,我安装了XDebug,未捕获的异常产生了一个XDebug消息,所以这两种情况不能直接比较。
我在网上看到的所有内容都说未捕获的异常会导致PHP 的致命错误,这就是我在其他计算机上安装XDebug之前所记得的行为。
想法?
(请不要告诉我抓住异常。我正在尝试调查未捕获异常会发生什么。我的问题是关于它们。)
答案 0 :(得分:3)
通常,服务器会导致服务器错误(500)并删除服务器错误日志中的条目。您可以通过在INI中设置显示错误来更改此行为
答案 1 :(得分:2)
转到php.ini文件并找到以下行
display_errors = Off
display_startup_errors = Off
并将两者都设置为
还设置
error_reporting = E_ALL
可以帮助调试
不要忘记保存并重新启动网络服务器服务(它的迁移是iss或httpd(如果您使用的是apache))