如何在Laravel中移除自定义错误页面并显示详细报错信息
Laravel 关闭自定义错误页、开启原生详细错误信息操作步骤
- 第一步:修改根目录环境配置
打开项目根目录下的.env文件,调整两个核心配置项:- 将
APP_DEBUG的值设置为true,打开框架调试模式开关 - 将
APP_ENV的值设置为local,切换到本地开发环境配置,生产环境配置默认会强制屏蔽错误详情
修改完成后执行命令清除配置缓存,避免配置不生效:
php artisan config:clear - 将
- 第二步:移除异常处理类里的自定义页面拦截
打开app/Exceptions/Handler.php文件,找到render方法,大部分预置脚本都会在这里重写逻辑强制返回自定义错误页:- 注释掉方法内类似
return response()->view('errors.自定义错误页模板', [], $e->getStatusCode())的自定义视图返回代码 - 直接返回父类的原生渲染逻辑即可:
return parent::render($request, $e);
- 注释掉方法内类似
- 第三步:排查全局异常拦截中间件
部分脚本会额外添加全局中间件捕获所有请求异常,直接返回静态错误页。打开app/Http/Kernel.php查看$middleware全局中间件数组,找到负责拦截异常、返回自定义错误页的中间件,开发调试阶段暂时注释掉即可。
注意:调试完成正式上线前,务必将
APP_DEBUG改回false、APP_ENV改回production,同时恢复自定义错误页逻辑,避免代码路径、数据库配置等敏感信息泄露引发安全问题。
内容的提问来源于stack exchange,提问作者Syed Jalal
相关产品推荐
相关产品推荐

