laravel 5.1 如何自定义友好的报错页面

laravel 框架中,我们都知道,当 APP_DEBUG = false 时,我们展示的错误页面是这样的。

注意:当在config/app.php 中 'debug' => env('APP_DEBUG', false) ,还是一直显示报错信息,应该在排查.env文件中APP_DEBUG的值,改为 false,或者删掉。就关闭报错信息了。

那我们怎么来自定义这个页面呢?其实很简单,打开 app/Exceptions/Handler.php 我们来重写下这个文件


<?php

namespace App\Exceptions;
use Exception;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Symfony\Component\Debug\ExceptionHandler as SymfonyDisplayer;

class Handler extends  ExceptionHandler
{
    /**
     *
     * @param \Exception $e
     *
     * @return \Symfony\Component\HttpFoundation\Response
     */
    protected function convertExceptionToResponse(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);
    }
}

然后就可以在 views/errors 下新建你的 default.blade.php 文件,自定义你页面吧

发布了18 篇原创文章 · 获赞 1 · 访问量 7011

猜你喜欢

转载自blog.csdn.net/weixin_42188216/article/details/90291678