Bugsnag没有显示漂亮的错误页面

时间:2017-05-03 20:17:12

标签: php error-handling bugsnag

下面我在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();

1 个答案:

答案 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);
}