您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

yii 500错误页面的设置

2024/5/28 22:45:04发布23次查看
yii 500错误页面的设置
yii2自定义500错误
 由于项目想加预警监控,有一块儿是涉及到程序内部错误的500,这样的错误级别比较高,所以就需要捕获这样的错误,顺便自定义了一把视图样式
推荐学习:yii框架
 看了这篇博客,知道了如何去自定义自己错误页面 : http://tech.lubanr.com/2015/12/12/yii2-0框架的错误和异常处理机制/
 如果我们需要定制自己的异常处理方式,需要做的就是继承yii\base\errorhandler,写一个定制的renderexception,最后在$config中定制自己的errorhandler
1.创建errorhandler 继承这个yii\base\errorhandler抽象类,然后定义这个父类中的抽象方法
<?phpnamespace common\component\exception;/** * user: szliugx@gmail.com * date: 2016/9/20 * time: 14:24 */use yii;use yii\base\errorhandler as baseerrorhandler;use common\component\earlywarning\earlywarning;class errorhandler extends baseerrorhandler{ public $errorview = '@app/views/errorhandler/error.php'; public function renderexception($exception) { if(yii::$app->request->getisajax()){ exit( json_encode( array('code' =>$exception->getcode(),'msg' =>$exception->getmessage()) )); }else{ //将500的代码,发送监控预警 if(!empty($exception->getcode()) && $exception->getcode() ==8){ $params = []; $params['projectname'] = "oct-youban"; $params['level'] = 5; $params['title'] = "500:".$exception->getmessage(); $params['value'] = $exception->getcode(); $params['message'] = $exception->getfile().":".$exception->getline(); $params['bizcode'] = 8; $params['subcode'] = 8001; earlywarning::warninapi($params); } echo yii::$app->getview()->renderfile($this->errorview,['exception' => $exception,],$this); } }}
2.创建视图文件 : @app/views/errorhandler/error.php
<?php/** * user: szliugx@gmail.com * date: 2016/9/20 * time: 15:23 */?><!doctype html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="format-detection" content="telephone=no"> <meta http-equiv="expires" content="-1"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="pragma" content="no-cache"> <title><?php if(!empty($exception->getcode())&&($exception->getcode() == 8)){echo "出错啦";}else{ echo $exception->getmessage();}?></title> <link href="/css/error.css" rel="stylesheet" 0="frontend\assets\appasset"></head><body><div> <div class="status-icon icon-desk"></div> <div> <p><?php if(!empty($exception->getcode())&&($exception->getcode() == 8)){echo "出错啦";}else{ echo $exception->getmessage();}?></p> </div></div></body></html>
3.修改应用的配置文件:@app/config/main.php
'errorhandler' => [ //'erroraction' => 'site/error', 'class' => 'common\component\exception\errorhandler', ],
修改上面三处,就能达到想要的目的,效果如下:
500错误页:
404错误页 :
以上就是yii 500错误页面的设置的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product