コードをコピー コードは次のとおりです:
//エラー出力を無効にする
error_reporting(0);
//エラーハンドラーを設定する
set_error_handler('errorHandler');
register_shutdown_function( 'fatalErrorHandler ');
class Test{
public functionindex(){
//ここで警告エラーが発生しました、errorHandlerを開始します
echo $unknownVarible;
}
}
function errorHandler($errno,$errstr,$errfile,$ errline) {
$arr = array(
'['.date('Y-m-d h-i-s').']',
'http://www.baidu.com',
'|',
$errstr,
$ errfile,
'line:'.$errline,
);
// エラー ログを書き込みます
// 形式: 時刻 uri エラー メッセージ ファイルの場所 line: error_log(implode(' ',$arr)."rn " ,3,'./test.txt','extra');
echo implode(' ',$arr)."rn";
}
//致命的エラーをキャプチャ
関数 FatalErrorHandler(){
$e = error_get_last();
switch($e['type']){
case E_ERROR:
case E_PARSE:
case E_CORE_ERROR:
case E_COMPILE_ERROR:
case E_USER_ERRまたは :
errorHandler($e['type'],$e['message'],$e['file'],$e['line']);
ブレーク;
}
}
$test = new Test ();
////ここで警告エラーが発生し、errorHandler によってキャプチャされます
$test->index();
//致命的なエラーが発生し、スクリプトの実行が停止し、fatalErrorHandler がトリガーされます
$test = new Tesdt ();
$ test->index();
|
|
http://www.bkjia.com/PHPjc/736856.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/736856.html技術記事次のコードをコピーします: ?php //エラー出力を無効にする error_reporting(0) //エラーハンドラーを設定 set_error_handler('fatalErrorHandler');...