下面我在bootstrap.php文件中有一些代码,只要网站中的某个页面无法解析,就会显示一个漂亮的错误页面。但是,行echo 'Todo: Friendly error page';
会在Bugsnag获取错误信息之前一直显示。任何帮助或见解将不胜感激。
/**
* Register the error handler
*/
$whoops = new \Whoops\Run;
if ($is_prod) {
$whoops->pushHandler(function($e){
echo 'Todo: Friendly error page';
});
$bugsnag = Bugsnag\Client::make("61a075bcdc8317eab9ed0ab86aada144");
Bugsnag\Handler::register($bugsnag);
} else {
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
}
$whoops->register();
答案 0 :(得分:1)
这是因为只有一个错误处理程序可以绑定到应用程序,并且当前它绑定到whoops,因此永远不会调用bugsnag。
我建议使用单个错误处理程序,然后从那里调用bugsnag,我们可以这样做。
$whoops = new \Whoops\Run;
if ($is_prod) {
$bugsnag = Bugsnag\Client::make("61a075bcdc8317eab9ed0ab86aada144");
$whoops->pushHandler(function($e) use($bugsnag) {
$bugsnag->notifyException($e);
echo 'Todo: Friendly error page';
});
} else {
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
}