Laravel 5.1 中如何自定义 500 错误页面

500错误页面

编辑PHP文件app/Exceptions/Handler.php内容如下:

public function render($request, Exception $e)
{

    if ($e instanceof ModelNotFoundException) {
        $e = new NotFoundHttpException($e->getMessage(), $e);
    }

    if($e instanceof \Symfony\Component\Debug\Exception\FatalErrorException 
        && !config('app.debug')) {
        return response()->view('errors.default', [], 500);
    }

    return parent::render($request, $e);
}

然后编辑自定义错误页面对应视图文件errors.default.blade.php

学院君 has written 981 articles

Laravel学院院长,终身学习者

积分:112862 等级:P12 职业:手艺人 城市:杭州

5 条回复

  1. zhang zhang says:
    public function render($request, Exception $e) { $debug = config(‘app.debug’, false); if ($debug) { // 当 debug 为 true 时,返回默认的报错页面 return (new SymfonyDisplayer($debug))->createResponse($e); } return response()->view(‘errors.default’, [‘expection’ => $e], 500); }
  2. zhang zhang says:
    public function render($request, Exception $e) { $debug = config('app.debug', false); if ($debug) { // 当 debug 为 true 时,返回默认的报错页面 return (new SymfonyDisplayer($debug))->createResponse($e); } return response()->view('errors.default', ['expection' => $e], 500); return parent::render($request, $e); } 试试这样
  3. wlzx120 wlzx120 says:
    laravel1.3.3 直接在views\errors下添加403 404页面不用修改任何方法可以自定义,但是500错误没法定义,还是以前的报错页面,并且Handler中$e->getStatusCode无法获取任何500这个状态码,上面的修改方法无效
  4. 张祎 张祎 says:
    !config('app.debug')不能是debug模式

登录后才能进行评论,立即登录?