开发错误信息收集

在php.ini中开启display_errors显示错误

拾染博客

方法

<?php
namespace Core;
class Error
{
	protected $debug;

	function __construct($debug = true)
	{
		$this->debug = $debug;
	}

	public function error()
	{
		error_reporting(0);
		set_error_handler([$this , 'handler'],E_ALL | E_STRICT);
	}
	/**
	*$code 错误号
	*$error 错误信息
	*$file 错误文件
	*$line 错误行数
	**/
	public function handler($code , $error , $file ,$line)
	{
		$errorMsg = "[code]:".$code."[Msg]:".$error."[file]:".$file."[line:]".$line;
		if($this->debug){
			echo "开启";
			echo "<br/>";
			echo ($errorMsg );
		}else{

			//日志记录
			$errorMsg = "[code]:".$code."[Msg]:".$error."[file]:".$file."[line:]".$line;
			$errorFile = "logs/".date("Y-m-d").'.log';
			echo "关闭";
			echo "<br/>";
			if(!is_dir("logs")) mkdir("logs");
			error_log("【".date("Y-m-d H:i:s")."】".$errorMsg.PHP_EOL,3,$errorFile);
		}


	}
}

调用

<?php

use Core\Error;

include "error.php";
header("Content-Type: text/html;charset=utf-8");

$objet = new Error(false);//false关闭追加文件  true开启debug

$objet -> error();
echo $a;


拾染博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论