虽然display_errors设置为0,但PHP显示错误

时间:2016-06-21 10:38:20

标签: php error-handling error-reporting ini-set error-suppression

我苦苦挣扎了一个小时,试图弄清楚为什么PHP显示错误,虽然我在我的代码非常乞求时压制它们:

error_reporting(E_ALL);
ini_set('log_errors', 1);
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);

我想记录所有PHP错误,但我不想向用户显示任何错误,因为这是生产代码。

在PHP文件的末尾,我检查是否使用ini_get('display_errors')正确设置了ini,并按预期返回0。 我也检查了我的整个项目,并且没有调用其他的ini_set()函数,它可以覆盖此设置。

为什么我仍然向用户显示未定义的变量?

<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">

<h4>A PHP Error was encountered</h4>

<p>Severity: Notice</p>
<p>Message:  Undefined variable: fb_admin</p>
<p>Filename: fb_app/header.php</p>
<p>Line Number: 173</p>

</div>

这令人沮丧所以感谢任何帮助:)

编辑:当然我知道我应该修复此错误,但这不是重点。关键是如何正确处理其他类似的,不可预测的错误。 我想记录它们但不显示它们。

0 个答案:

没有答案