下面,我的bootstrap.php文件中有一些代码,每当网站中的页面无法解析时,该页面应显示一个漂亮的错误页面。但是,在Bugsnag获取错误信息之前,echo 'Todo: Friendly error page';
行一直显示。任何帮助或见识将不胜感激。
/**
* 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();
最佳答案
这是因为只有一个错误处理程序可以绑定(bind)到应用程序,并且当前它绑定(bind)到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);
}