Laravel v5.2.38更好的错误报告而不是"哎呀,看起来出了问题。"

时间:2017-11-12 14:16:15

标签: php laravel laravel-5.2

我认为这是最无用的错误消息。

  

"糟糕,看起来出了问题。"

为什么它不能告诉我出了什么问题?

我已经尝试过this,但它仍然没有给我一个错误信息。

我也尝试将this添加到控制器中,但仍然没有查看。

我也在app.php

中尝试过此操作
'env' => env('APP_ENV', 'development'),
'debug' => env('APP_DEBUG', true),

为了知道出了什么问题,我最后每行做die

我检查了存储空间,没有错误日志.gitignore

出了什么问题?好吧,我使用了一个对象变量作为数组。

那么为什么它没告诉我呢?但是让我玩一场沃尔多的游戏?

它确实显示有用的错误消息"并不总是像现在一样#34;

有人可以帮我解决如何在Laravel上始终显示有用的错误消息吗?

1 个答案:

答案 0 :(得分:1)

首先,要详细显示错误消息,您需要在.env文件中启用app-debug:
APP_LOG_LEVEL=debug

现在是有趣的部分。

在最后App\Exceptions\Handler.php之前将其添加到}

/**
 * Create a Symfony response for the given exception.
 *
 * @param  \Exception  $e
 * @return mixed
 */
protected function convertExceptionToResponse(Exception $e)
{
    if (config('app.debug')) {
        $whoops = new \Whoops\Run;
        $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);

        return response()->make(
            $whoops->handleException($e),
            method_exists($e, 'getStatusCode') ? $e->getStatusCode() : 500,
            method_exists($e, 'getHeaders') ? $e->getHeaders() : []
        );
    }

    return parent::convertExceptionToResponse($e);
}

Source