禁止所有错误,警告,不推荐等消息

时间:2017-08-17 09:02:45

标签: php apache .htaccess

我有一个非常旧的系统运行旧的PHP版本。为了检查网站,我必须压制所有错误,警告,不推荐等消息。不幸的是,整个系统的代码中有很多ini_set("display_errors", "1");

无论php脚本调用什么,都可以抑制一切吗?也许使用php.ini或htaccess?

我已经在php.ini中禁用了“display_errors”。但那并没有帮助。

2 个答案:

答案 0 :(得分:0)

要获得最佳的错误记录体验,请将error_reporting设置为-1,关闭display_errors,然后设置自定义error_log位置,使其不与其他网站混合使用可能正在建设中。

执行此操作后,您应该找到并删除显示错误ini_set()调用。

然后在终端中输入tail -f /path/to/error_log。您的通知,警告和错误现在将实时滚动过去,而不会扭曲您的网页显示。

通过这种方式,您仍然可以在更整洁的日志格式中看到需要重构/修复的内容,但页面上没有乱七八糟的东西!

答案 1 :(得分:0)

不会发现搜索和注释掉所有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指令调用外部文件。