编程语言
首页 > 编程语言> > php – 可以为库代码而不是我的代码关闭E_STRICT吗?

php – 可以为库代码而不是我的代码关闭E_STRICT吗?

作者:互联网

是否可以更改我的PHP应用程序包含include或require_once的文件的错误报告级别(关闭E_STRICT)?

我希望能够看到我的代码中出现的严格通知,但我正在使用PEAR MDB2,当我打开E_STRICT时,我从该代码中获得了警告页面.

我知道可以使用.htaccess文件在每个目录的基础上更改error_reporting,但我认为这不适用于包含的文件.我尝试将它放在梨文件夹中,但它没有做任何事情.

解决方法:

您可以使用define a custom error handler,并使用$errfile参数来确定错误的来源.如果路径与包含的库的路径匹配,则禁止显示错误.否则,将其传递给PHP的错误报告.

据我所知,这应该捕获由库引起的任何和所有警告和通知.

因为不需要回溯,所以对于大量触发的消息来说,它甚至可能足够快.

这是未经测试但应该有效,基于手册中的示例:

<?php
// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline)
{

    $library_path = "/path/to/library";
    if (substr($errfile,0,strlen($library_path))==$library_path)
    /* Don't execute PHP internal error handler */
     return true;
    else
    /* execute PHP internal error handler */
     return false;
}

标签:php,error-reporting
来源: https://codeday.me/bug/20190722/1498391.html