记录错误,而不是显示它们,在PHP中显示一个500错误页面


Log errors, and instead of displaying them, show a 500 Error Page in PHP

我正在努力为我的网站实现以下目标;首先,这只适用于生产模式。我的目标是对访问者隐藏所有错误,但记录它们并显示500内部服务器错误页面。

隐藏这些错误的部分很容易——唯一的事情就是关闭display_errors。

现在,我正在使用一个自定义编写的函数作为错误处理程序。它基本上只是发送一个500错误页面,但这似乎都不起作用。以下是功能:

function error_handler($errno, $errstr) { header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error', true, 500); die(); }

因此,又发生了一个错误——这些错误不会被记录下来,因为我在这个函数的末尾使用了die()。

知道这是怎么回事吗?

查看error_log函数。