我挣扎了一个小时,试图弄清楚为什么 PHP 会显示错误,尽管我在我的代码的非常乞求时压制了它们,如下所示:
error_reporting(E_ALL);
ini_set('log_errors', 1);
ini_set('display_errors', 0);
ini_set('display_startup_errors', 0);
我想记录所有 PHP 错误,但我不想向用户显示任何错误,因为这是生产代码。
在 PHP 文件的末尾,我检查是否正确设置了 ini并按预期ini_get('display_errors')
返回。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>
这令人沮丧,所以感谢您的帮助:)
编辑:当然我知道我应该修复这个错误,但这不是重点。关键是如何正确处理其他类似的、不可预测的错误。我想记录它们但不显示它们。