我想显示页面500 internal server error
页面,但它不是显示报告或渲染,而是显示典型的Laravel异常视图和错误消息。
public function report(Exception $exception)
{
parent::report($exception);
}
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Exception $exception
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $exception)
{
// $exception = FlattenException::create($exception);
$statusCode = $exception->getStatusCode($exception);
dd($statusCode);
if ($statusCode === 404 or $statusCode === 500) {
return response()->view('errors.' . $statusCode, [], $statusCode);
}
return parent::render($request, $exception);
}
3条答案
按热度按时间wfauudbj1#
如果你看到的是500错误而不是500错误页面,那是因为应用程序处于调试模式。
在
.env
文件中编辑以下行成为
svmlkihl2#
你能检查一下你的
bootstrap/app.php
文件,看看异常处理程序是否被正确绑定了吗?默认配置如下所示。前阵子我写了一篇关于在Larvel中实现自定义异常处理程序的文章,它可能包含一些对你的问题有用的信息。
m3eecexj3#
由于这个问题相对较新,我假设您正在起诉Laravel版本7或8。这是因为你的render函数:
在原始ExceptionHandler类(您的Handler类从其扩展而来)中,render函数如下所示:
父类需要第二个参数为Throwable类型,但您在子类中使用Exception类型。