如何在Laravel中启用详细的错误消息?

时间:2017-09-12 05:39:55

标签: laravel laravel-5.5

我正在使用Laravel 5.5,我意识到在这个版本中,错误似乎有点用户友好' ...如何再次获取详细的错误消息?

例如:之前,使用此代码:

abort(500, 'The server is on fire');

我看到了这条消息"服务器着火了#34;。现在,我所看到的只是"哎呀,看起来出了问题。"

提前致谢!

1 个答案:

答案 0 :(得分:0)

您收到此错误的原因是因为您正在使用500代码中止。 Laravel最终将做的是检查是否存在与该错误代码相关的错误视图(有错误代码),然后显示该视图。

开箱即用Laravel提供了404,419,429,500,503错误视图。

我建议使用更适合您情况的代码(如果可能)。以下是一些错误代码https://httpstatuses.com/的列表。

如果您无法通过将以下内容添加到app/Exceptions/Handler.php类来覆盖默认行为:

/**
 * Render the given HttpException.
 *
 * @param  \Symfony\Component\HttpKernel\Exception\HttpException  $e
 * @return \Symfony\Component\HttpFoundation\Response
 */
protected function renderHttpException(HttpException $e)
{
    $status = $e->getStatusCode();

    if ($status == 500 && config('app.debug')) {
        return $this->convertExceptionToResponse($e);
    }

    return parent::renderHttpException($e);

基本上,这将绕过寻找500.blade.php错误视图,然后应该显示带有whoops的堆栈。请注意,这不是针对实际的500错误进行测试的,因此我不确定它是否适用于此(我无法想到为什么它不会,但我只想提及它)。

希望这有帮助!

相关问题