技术相关 · 2014年4月28日

Thinkphp 定制错误页面

默认情况下,ThinkPHP在发生错误的时候,显示的是系统默认的错误页面,正式上线的时候,为了统一用户体验,我们可以定制自己的错误页面,通常有两种方法:

一、定制系统错误页面模板

系统默认的错误模板位于:ThinkPHP/Tpl/think_exception.tpl

我们只需要在项目中修改TMPL_EXCEPTION_FILE配置参数重新指定错误模板即可。

'TMPL_EXCEPTION_FILE'=>'./App/Tpl/Public/error.html' // 定义公共错误模板

注意错误模板的路径是基于入口文件的相对地址或者使用服务器的绝对地址,错误模板中可以使用的变量有:

$e[‘file’] 异常文件名

$e[‘line’] 异常发生的文件行数

$e[‘message’] 异常信息

$e[‘trace’] 异常的详细Trace信息

因为异常模板使用的是原生PHP代码,所以还可以支持任何的PHP方法和系统变量使用。

二、设置错误重定向页面

如果想网站发生错误的时候重定向到一个指定的URL 而不是读取错误模板,我们还可以直接设置ERROR_PAGE参数。

'ERROR_PAGE'=>'/Public/error.html' // 定义错误跳转页面URL地址

注意ERROR_PAGE所指向的页面不能再使用异常的模板变量了。