1、創(chuàng)建ErrorHandler,繼承這個yii\base\ErrorHandler抽象類,然后定義這個父類中的抽象方法
<?php namespace 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的代碼,發(fā)送監(jiān)控預(yù)警 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、創(chuàng)建視圖文件 : @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、修改應(yīng)用的配置文件:@app/config/main.php
'errorHandler' => [ //'errorAction' => 'site/error', 'class' => 'common\component\exception\ErrorHandler', ],
效果如下:
500錯誤頁:
404錯誤頁:
更多編程相關(guān)內(nèi)容,請關(guān)注php中文網(wǎng)編程入門欄目!
Atas ialah kandungan terperinci yii2如何自定義500錯誤. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk mengalih keluar jquery daripada yii2: 1. Edit fail AppAsset.php dan ulas nilai "yii\web\YiiAsset" dalam pembolehubah $depends 2. Edit fail main.php dan tambah konfigurasi sebagai "'yii" di bawah medan "komponen" \web\JqueryAsset' => ['js' => [],'sourcePath' => null,]," untuk mengalih keluar skrip jquery.

Di YII2, terdapat dua cara utama untuk memaparkan arahan ralat. Satu adalah menggunakan yii :: $ app- & amp; gt; errorHandler- & amp; gt; pengecualian () untuk secara automatik menangkap dan memaparkan ralat apabila pengecualian berlaku. Yang lain adalah menggunakan $ this- & amp; gt; adderror (), yang memaparkan ralat apabila pengesahan model gagal dan boleh diakses dalam pandangan melalui $ model- & amp; gt; getErrors (). Pada pandangan, anda boleh menggunakan jika ($ errors = $ model- & amp; gt; getErrors ())

Ralat pelayan dalaman 500 bermaksud ralat pelayan dalaman HTTP 500, yang bermaksud bahawa pelayan menghadapi situasi yang tidak dijangka yang menyebabkan ia tidak dapat memenuhi permintaan, tetapi ia tidak dapat menjelaskan ralat khusus atau punca ralat apabila ralat berlaku; laman web yang dilawati akan memaparkan ralat .

1. Anda perlu memuat turun versi windows cawangan induk yii2-redis dengan komposer 2. Nyahzip dan salin ke vendor/yiisoft 3. Tambah 'yiisoft/yii2-redis' => array('name' => 'yiisoft ke extensions.php di bawah yiisoft /yii2-redis','version' =>'2.0.

Artikel ini akan memperkenalkan anda kepada rangka kerja yii2, berkongsi beberapa latihan CTF dan menggunakannya untuk mempelajari rangka kerja yii2 saya harap ia akan membantu semua orang.

Harga Ethereum memulakan gelombang pemulihan di atas paras $2,250. ETH dapat mengosongkan zon rintangan $2,280 untuk bergerak ke zon positif, tetapi momentum adalah lemah berbanding Bitcoin.

Menurut seorang pakar, karya 2011 itu dicetak untuk meraikan Sukan Olimpik London pada 2012.

Bitcoin telah memulakan pergerakan menaik yang ketara, melepasi paras rintangan $57,500 dan kini menunjukkan tanda-tanda menjanjikan yang berpotensi mencapai paras $60,000.
