我有一个旧的系统运行一个旧的PHP版本。为了检查网站,我必须抑制所有的错误,警告,弃用等消息。不幸的是,在整个系统中有很多ini_set("display_errors", "1");
的代码。抑制所有的错误,警告,弃用等消息
是否有可能压制一切,不管php脚本调用什么?也许与php.ini或htaccess?
我已经在php.ini中禁用了“display_errors”。但那没有帮助。
我有一个旧的系统运行一个旧的PHP版本。为了检查网站,我必须抑制所有的错误,警告,弃用等消息。不幸的是,在整个系统中有很多ini_set("display_errors", "1");
的代码。抑制所有的错误,警告,弃用等消息
是否有可能压制一切,不管php脚本调用什么?也许与php.ini或htaccess?
我已经在php.ini中禁用了“display_errors”。但那没有帮助。
为了获得最佳的错误日志的经验,设定使用error_reporting到-1
,转display_errors
关闭,并设置自定义error_log
位置,因此它不会与您可能构建其他站点混合英寸
这样做后,你应该找到并删除显示错误ini_set()调用。
然后在终端中键入tail -f /path/to/error_log
。您的通知,警告和错误现在将实时滚动浏览,而不会扭曲网页的显示。
这样,你仍然可以看到什么需要重构/固定在一个更整洁的日志格式,但没有整个页面乱七八糟的!
它没有看到特别艰巨的搜索和注释掉所有ini_set("display_errors", "1");
呼叫,但另一种方法是编写自定义的错误处理程序(或编辑现有的):
<?php
ini_set('display_errors', 1);
error_reporting(-1);
function ignore_errors($errno, $errstr, $errfile, $errline){
// Optional error processing
return true;
}
$foo++;
set_error_handler('ignore_errors');
$bar++;
Notice: Undefined variable: foo in C:\...\scratch_7.php on line 11
如果有”如果您的入口点太多,您可以随时通过php.ini
文件中的auto_prepend_file指令调用外部文件。
你可以做你的php.ini –
@caryaritferrer那么请告诉OP如何 – RiggsFolly
https://stackoverflow.com/a/15949483/6257039 –