0

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

<?php throw new Exception(); ?>

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

我在网上阅读的所有内容都表明未捕获的异常会导致PHP发生致命错误,这就是我记得在另一台机器上安装 XDebug 之前看到的行为。

想法?

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

4

2 回答 2

3

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

于 2013-05-18T00:48:27.530 回答
2

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

display_errors = Off

display_startup_errors = Off

并将两者都设置为打开

也设置

error_reporting = E_ALL

可以帮助调试

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

于 2013-05-18T00:58:50.123 回答