我正在尝试设置自定义错误处理程序,但会出现以下错误
Warning: set_error_handler() expects the argument (error::handler) to be a valid callback
这是我调用set_error_handler
函数
require_once( 'autoloader.php' );
set_error_handler( array( error::class, "handler" ) );
class error {
static public $allErrors;
static private $err;
public static function handler( $errno, $errstr, $errfile, $errline, $errcontext ) {
global $errors;
if ( $errors == 1 || ( $errors == 2 && $errno == E_WARNING ) ) {
if ( $errno == E_ERROR || substr( $errstr, 0, 6 ) == 'mysqli' ) {
?>
<div class='errorbox' style='background: #990000;padding: 10px; color: #FFF; font-size: 10px;'><strong><?= $errstr ?></strong><br/><br/>
FILE: <?= $errfile ?> <br/>
LINE: <?= $errline ?> <br/><?
?>
<pre>INFO: <?= print_r( $errcontext, true ) ?></pre></div><br/><?
} else {
?><br/><font color='blue'><strong><?= $errstr ?></strong><br/>
FILE: <?= $errfile ?> <br/>
LINE: <?= $errline ?> <br/></font><br/><?
}
}
}
}
错误类位于另一个文件中,并且我没有在整个类中复制。我一直在网上阅读,我似乎正在正确地调用这个方法所以我不确定为什么我会收到警告 - 任何人都可以解释并告诉我如何修复