我苦苦挣扎了一个小时,试图弄清楚为什么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>
这令人沮丧所以感谢任何帮助:)
编辑:当然我知道我应该修复此错误,但这不是重点。关键是如何正确处理其他类似的,不可预测的错误。 我想记录它们但不显示它们。