提问人:ogbofjnr 提问时间:3/5/2020 最后编辑:ogbofjnr 更新时间:3/6/2020 访问量:75
为什么php仍然报告错误?
Why php still report errors?
问:
在simplesamlPHP库中有代码
Logger::maskErrors(E_ALL);
$hidden = in_array(
self::$HIDE_FROM_DISCOVERY,
$metadata['EntityAttributes'][self::$ENTITY_CATEGORY],
true
);
Logger::popErrorMask();
因此,他们决定将错误报告设置为 0,然后恢复它,而不是使用。问题是,当我将其作为脚本运行时,它可以工作,但是当我将其插入框架时,它仍然失败并出现错误。
虽然我在那里倾倒了水平,但它确实设置为 0。isset($metadata['EntityAttributes'][self::$ENTITY_CATEGORY])
我还听说,如果您设置了用户定义的错误处理函数,则完全忽略 error_reporting() 设置。但全局搜索不会在项目中返回任何set_error_handler。
答:
0赞
ogbofjnr
3/6/2020
#1
尽管如此,我没有正确查看供应商文件夹。它在 Laravel 工作的原因:set_error_handler()
public function handleError($level, $message, $file = '', $line = 0, $context = [])
{
if (error_reporting() & $level) {
throw new ErrorException($message, 0, $level, $file, $line);
}
}
但我的框架是这样的:
public function handleError($code, $message, $filename = '', $line = 0)
{
throw new \ErrorException($message, $code, 0, $filename, $line);
}
评论