PHP Intercepta los erroresdeejecuciónyylosenvÃalpor mail al administrador con detall

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Intercepta los erroresdeejecuciónyylosenvÃalpor mail al administrador con detall相关的知识,希望对你有一定的参考价值。

function error_handler($errno, $errstr, $errfile, $errline, $errctx) {
	
	$EN_DESARROLLO = (substr_count($_SERVER['HTTP_HOST'],"localhost")==0)? false : true;

	$host = $_SERVER['HTTP_HOST'];
	$mail_subject = 'Error at '.$host;
	$mail_from = 'system@site.com';
	$mail_to = array('admin1@mail.com','admin2@mail.com');

	$errortype = array(1=>"Error", 2=>"Warning", 4=>"Parsing Error", 8=>"Notice", 16=>"Core Error", 32=>"Core Warning", 64=>"Compile Error", 128=>"Compile Warning", 256=>"User Error", 512=>"User Warning", 1024=>"User Notice", 2048=>"PHP5 Strict Notice"); 

	$error_handler_string =  "<font size=2 face=Arial><h3>Error at ".$host."<br></h3><b>Date: </b>".date('F j, Y, H:i:s a')."<br><b>Error Type: </b>". $errortype[$errno]." (".$errno.")<br><b>Description: <font color=ff0000>".$errstr."</font></b><br><b>Error File: </b>".$errfile."<br><b>Error Line: </b>".$errline."<br><br>";

	while( isset($_SESSION) && list($var, $val) = each($_SESSION) ) $error_handler_string .= "_SESSION[".$var."] = ".$val."<BR>"; 
	while( isset($_GET) && list($var, $val) = each($_GET) ) $error_handler_string .=  "_GET[".$var."] = ".$val."<BR>"; 
	while( isset($_POST) && list($var, $val) = each($_POST) ) $error_handler_string .=  "_POST[".$var."] = ".$val."<BR>";
	while( isset($_COOKIE) && list($var, $val) = each($_COOKIE) ) $error_handler_string .= "_COOKIE[".$var."] = ".$val."<BR>"; 

	if( $EN_DESARROLLO ){
		die($error_handler_string);
	}else{
		@ini_set("sendmail_from",$mail_from);
		foreach( $mail_to as $mail_to_str ){
			mail($mail_to_str, $mail_subject, $error_handler_string, "From: ".$mail_from."\r\nContent-Type: text/html; charset=\"iso-8859-1\"\r\n");
		}
		if ($errno & (E_WARNING | E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR)){
			header("Location: http://".$host); 
			exit();
		}
	}
}
set_error_handler("error_handler");
error_reporting(E_ALL);
ini_set('display_errors','on');

以上是关于PHP Intercepta los erroresdeejecuciónyylosenvÃalpor mail al administrador con detall的主要内容,如果未能解决你的问题,请参考以下文章

php Recorrelasclassíasytrae los posts

php 包括todos los ficheros de un directorio

php Desactivar comentarios en los adjuntos de WordPress

php Cambiar los checkbox de taxonomias por单选按钮

php Cargar un Template XLSX y cubrir los valores

PHP OrdenarAlfabéticamente los amigos de facebook en app