yii2如何自定义500错误
1、创建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的代码,发送监控预警 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="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错误页:
更多编程相关内容,请关注php中文网编程入门栏目!
Atas ialah kandungan terperinci yii2如何自定义500错误. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

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.

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.

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.

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

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.

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

Syiling 2011, yang ditempa sempena sambutan Sukan Olimpik London pada 2012, dikenali sebagai reka bentuk "akuatik" dan menampilkan imej seorang perenang
