前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【PHP错误捕获分享】PHP捕获应用错误 简单记录并友好处理展示

【PHP错误捕获分享】PHP捕获应用错误 简单记录并友好处理展示

作者头像
96php.cn
发布2018-04-28 15:04:05
1.1K0
发布2018-04-28 15:04:05
举报
文章被收录于专栏:www.96php.cnwww.96php.cn

为了某种目的而需要捕获系统错误,在此简单分享下某个项目中的捕获方法。

默认php错误如图

index.php

代码语言:javascript
复制
/**
 * 捕获应用错误记录
 */
function ef_error_record($errno,$errstr,$errfile,$errline){
	$e = array("no"=>$errno,"str"=>$errstr,"file"=>$errfile,"line"=>$errline);
        ef_error_display("record",$e);
}
/**
 * 错误中断显示
 */
function ef_error_display($method='',$option=''){
	static $e = array();
	if($method=='record'){
		$e[] =  $option;
		return true;
	}else if(!empty($e)){
		include ('/common/template/error.php');
		exit();
	}
	return true;
}
        
        
        //禁止错误输出
        error_reporting(0);
        //设置自定义错误函数 捕获系统错误并记录
	set_error_handler("ef_error_record");
	//注册结束脚本函数 该函数会有意外或正常结束脚本触发(同析构函数)
	register_shutdown_function("ef_error_display");

error.php

代码语言:javascript
复制
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>EFrame 运行错误</title>
<style type="text/css">

body {
background-color:	#fff;
margin:				40px;
font-family:		Lucida Grande, Verdana, Sans-serif;
font-size:			12px;
color:				#000;
}

#content  {
border:				#999 1px solid;
background-color:	#fff;
padding:			20px 20px 12px 20px;
}

h1 {
font-weight:		normal;
font-size:			16px;
color:				#990000;
margin: 			0 0 4px 0;
}
span {
color:				#990000;
	
}
.msg p{
	color:#990000;
}
.file{
	text-indent:15px;;
}
</style>
</head>
<body>
	<div id="content">
		<h1>EFrame 运行错误</h1>
		<?php
			foreach($e as $key=>$val){
				echo "<div class=\"msg\"><p><span>[".($key+1)."]</span> {$val['str']} </p></div>",
				"<div class=\"file\"><p>".$val['file']." 行: <span>{$val['line']}</span></p></div>";
			}
			?>	</div>
</body>
</html>

最终错误错误页面(当然页面可以自己修改想要的样式):

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年12月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档