最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

yii2如何自定义500错误

来源:动视网 责编:小采 时间:2020-11-03 18:17:39
文档

yii2如何自定义500错误

yii2如何自定义500错误:1、创建ErrorHandler,继承这个yii\base\ErrorHandler抽象类,然后定义这个父类中的抽象方法<php namespace common\component\exception; /** * User: szliugx@gmail.com * Date: 2016/9/20 * Time: 14:2
推荐度:
导读yii2如何自定义500错误:1、创建ErrorHandler,继承这个yii\base\ErrorHandler抽象类,然后定义这个父类中的抽象方法<php namespace common\component\exception; /** * User: szliugx@gmail.com * Date: 2016/9/20 * Time: 14:2


1、创建ErrorHandler,继承这个yiiaseErrorHandler抽象类,然后定义这个父类中的抽象方法

<?php
namespace commoncomponentexception;
/**
 * User: szliugx@gmail.com
 * Date: 2016/9/20
 * Time: 14:24
 */
use yii;
use yiiaseErrorHandler as BaseErrorHandler;
use commoncomponentearlywarningEarlyWarning;

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);
 }
 }
}

推荐教程:yii框架

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="frontendassetsAppAsset">
</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' => 'commoncomponentexceptionErrorHandler',
 ],

效果如下:

500错误页:

404错误页:

更多编程相关内容,请关注Gxlcms编程入门栏目!

文档

yii2如何自定义500错误

yii2如何自定义500错误:1、创建ErrorHandler,继承这个yii\base\ErrorHandler抽象类,然后定义这个父类中的抽象方法<php namespace common\component\exception; /** * User: szliugx@gmail.com * Date: 2016/9/20 * Time: 14:2
推荐度:
标签: 错误 500 error
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top