版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1333817
config.app
文件// 应用调试模式
'app_debug' => false,
一般在项目的开发过程中,可以设置为”true”,但是项目上线部署后,一定要关闭调试模式
http_exception_template
//TODO 自定义异常请求码的页面配置 建议只做非500错误页面
'http_exception_template' =>
[
404 => Env::get('app_path') . 'index/view/exception_html/404.html',
501 => Env::get('app_path') . 'index/view/exception_html/501.html',
],
上面的路径配置,对应的文件路径是这样的,同理可以扩展添加其他的请求码配置页:
public/errors
目录下Handle
中的 render()
方法有关,进一步分析代码,应该是 500 情况不能实例化 HttpException
的原因极不建议修改框架核心源代码,指不定又会整出来多少安全隐患,此处只是一个小提示而已!仅做了解即可…
config.app
文件中的配置项 exception_tmpl
,线上和线下可分开配置//TODO 异常页面的模板文件,主要作为500或程序报错的处理页面
//此为生产模式下(线下)的配置操作,便于代码排错
'exception_tmpl' => Env::get('think_path') . 'tpl/think_exception.tpl',
//此为线上模式下的配置操作,便于隐藏内部错误数据,人性化显示
//'exception_tmpl' => Env::get('think_path') . 'tpl/self_exception.html',
对于上述的配置项,主要是制定好显示页面即可,源框架中是
tpl
文件,此处我直接复制了一个静态页面的源代码而已,具体的动态显示可以自己进行优化补充 …
exception_tmpl
为前者配置项,只要在控制器中随便写一点错误代码,就会出现500报错,则效果如下: exception_tmpl
为后者配置项,如此一来, 报错页面如下:if (request()->isMobile()) {
config('template.view_path','application\\index\\view\\wap\\');
} else {
config('template.view_path','');
}