用PHP的`trigger_error`改变或隐藏上下文的任何方法吗?

时间:2018-12-14 01:21:51

标签: php error-handling

在我的一个脚本中,我设置了一个自定义错误处理程序,这可能会触发另一个错误。我已经在消息中包括了原始错误的消息,文件和行,但是PHP始终通过在f的{​​{1}}行的'l'中扩展它,引用了trigger_error调用,在错误处理程序中并且没有用。

有什么办法可以抑制这种情况?

我要做的是将未定义变量的NOTICE转换为致命错误,以便PHP在遇到未定义变量时不会继续运行。

这是我的代码:

function undefined_name_error($errno, $errstr, $errfile='', $errline=0, $errcontext=NULL) {
    if (stripos($errstr, 'undefined') !== false)
        return trigger_error("$errstr in $errfile on line $errline;", E_USER_ERROR);
    else
        return false;
}
set_error_handler('undefined_name_error', E_NOTICE);

当前它会产生如下输出:

  

PHP致命错误:未定义变量:第12行的test.php中的var;在   第6行的test.php

0 个答案:

没有答案