yii2如何自定义500错误

yii2如何自定义500错误

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

<?php namespace commoncomponentexception; /**  * User: szliugx@gmail.com  * Date: 2016/9/20  * Time: 14:24  */ use yii; use yiibaseErrorHandler as BaseErrorHandler; use commoncomponentearlywarningEarlyWarning;  class ErrorHandler extends BaseErrorHandler {      public $errorView = &#39;@app/views/errorHandler/error.php&#39;;     public function renderException($exception)     {         if(Yii::$app->request-&gt;getIsAjax()){             exit( json_encode( array('code' =&gt;$exception-&gt;getCode(),'msg'  =&gt;$exception-&gt;getMessage()) ));         }else{             //将500的代码,发送监控预警             if(!empty($exception-&gt;getCode()) &amp;&amp; $exception-&gt;getCode() ==8){                 $params = [];                 $params['projectName'] = "oct-youban";                 $params['level'] = 5;                 $params['title'] = "500:".$exception-&gt;getMessage();                 $params['value'] = $exception-&gt;getCode();                 $params['message'] = $exception-&gt;getFile().":".$exception-&gt;getLine();                 $params['bizcode'] = 8;                 $params['subcode'] = 8001;                 EarlyWarning::WarninApi($params);             }             echo  Yii::$app-&gt;getView()-&gt;renderFile($this-&gt;errorView,['exception' =&gt; $exception,],$this);         }     } }

推荐教程:yii框架

2、创建视图文件 : @app/views/errorHandler/error.php

<?php /**  * User: szliugx@gmail.com  * Date: 2016/9/20  * Time: 15:23  */ ?>nbsp;html&gt;       <meta>     <meta>     <meta>     <meta>     <meta>     <meta>     <meta>     <meta>     <title> <?php  if(!empty($exception->getCode())&amp;&amp;($exception-&gt;getCode() == 8)){echo "出错啦";}else{ echo $exception-&gt;getMessage();}?&gt;</title>     <link><div>     <div></div>     <div>         <p><?php  if(!empty($exception->getCode())&amp;&amp;($exception-&gt;getCode() == 8)){echo "出错啦";}else{ echo $exception-&gt;getMessage();}?&gt;</p>     </div> </div>  

3、修改应用的配置文件:@app/config/main.php

'errorHandler' =&gt; [             //'errorAction' =&gt; 'site/error',             'class' =&gt; 'commoncomponentexceptionErrorHandler',         ],

效果如下:

500错误页:

yii2如何自定义500错误

404错误页:

yii2如何自定义500错误

更多编程相关内容,请关注php中文网yii框架栏目!

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享