2017-08-17 49 views
-1

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

是否有可能压制一切,不管php脚本调用什么?也许与php.ini或htaccess?

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

+1

你可以做你的php.ini –

+0

@caryaritferrer那么请告诉OP如何 – RiggsFolly

+0

https://stackoverflow.com/a/15949483/6257039 –

回答

0

为了获得最佳的错误日志的经验,设定使用error_reporting到-1,转display_errors关闭,并设置自定义error_log位置,因此它不会与您可能构建其他站点混合英寸

这样做后,你应该找到并删除显示错误ini_set()调用。

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

这样,你仍然可以看到什么需要重构/固定在一个更整洁的日志格式,但没有整个页面乱七八糟的!

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指令调用外部文件。