> php教程 > php手册 > 본문

php 普通错误和致命错误捕获及处理

WBOY
풀어 주다: 2016-06-06 19:33:02
원래의
1064명이 탐색했습니다.

无详细内容 无 ?php//禁止错误输出error_reporting(0);//设置错误处理器set_error_handler('errorHandler');register_shutdown_function('fatalErrorHandler');class Test{public function index(){//这里发生一个警告错误,出发errorHandler echo $undefined

<?php

	//禁止错误输出
	error_reporting(0);
	//设置错误处理器
	set_error_handler('errorHandler');
	register_shutdown_function('fatalErrorHandler');
	class Test{
			public function index(){
					//这里发生一个警告错误,出发errorHandler 
					echo $undefinedVarible;
			}
	}
	function errorHandler($errno,$errstr,$errfile,$errline){
			 $arr = array(
			 				'['.date('Y-m-d h-i-s').']',
			 				'http://www.baidu.com',
			 				'|',
			 				$errstr,
			 				$errfile,
			 				'line:'.$errline,
			 			);
			 //写入错误日志
                         //格式 :  时间 uri | 错误消息 文件位置 第几行
			 error_log(implode(' ',$arr)."\r\n",3,'./test.txt','extra');
			 echo implode(' ',$arr)."\r\n";
	}

	//捕获fatalError
	function 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_ERROR:
			 		 errorHandler($e['type'],$e['message'],$e['file'],$e['line']);
			 		 break;		 	
			}
	}
	$test = new Test();
	////这里发生一个警告错误,被errorHandler 捕获
	$test->index();
	//发生致命错误,脚本停止运行触发 fatalErrorHandler 
	$test = new Tesdt();
	$test->index();
로그인 후 복사
php 普通错误和致命错误捕获及处理
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!