繁体   English   中英

Laravel v5.2.38的错误报告比“糟糕,好像出了点问题”更好。

[英]Laravel v5.2.38 better error reporting than “Whoops, looks like something went wrong.”

我认为这是有史以来最无用的错误消息。

“哎呀,看起来像出事了。”

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

我已经尝试过做这个 ,但它仍然不会给我一个错误消息。

我也尝试添加控制器和视图仍然一无所获。

我也在app.php尝试过

'env' => env('APP_ENV', 'development'),
'debug' => env('APP_DEBUG', true),

我最终每行都die只是想知道出了什么问题。

我检查了存储,没有错误日志,只是.gitignore

怎么了? 好吧,我正在使用对象变量作为数组。

那为什么不告诉我呢? 而是让我玩Waldo在哪里?

它确实显示有用的错误消息“并非总是像现在这样”

谁能帮助我如何始终在Laravel上显示有用的错误消息?

首先,要详细显示错误消息,您需要在.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);
}

来源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM