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 分享