如何仅在.env的debug=true时在404页面显示$exception->message
解决方案
你可以直接借助Laravel自带的config()辅助函数读取调试配置状态,配合Blade的@if条件指令包裹异常信息输出代码即可,修改后的完整模板代码如下:
@extends('layouts.app') @section('content') <h3 class="page-title">@lang('global.app_oh_no')!</h3> <div class="panel panel-default"> <div class="panel-body"> <div class="row" > <h4> @lang('global.app_sorry_were_not_able_to_find_the_page_you_are_looking_for').</h4> @if(config('app.debug')) <h4> {{$exception->getMessage()}} </h4> @endif </div> </div> </div> @stop
逻辑说明
config('app.debug')会直接返回你config/app.php中配置的debug参数生效值,和.env里的APP_DEBUG配置保持同步- 当APP_DEBUG为true时(开发环境),异常信息会正常输出方便排查问题
- 当APP_DEBUG为false时(生产环境),条件内的代码不会渲染,用户看不到具体异常信息,避免泄露敏感内容
内容的提问来源于stack exchange,提问作者pandorabacchus
相关产品推荐
相关产品推荐

