Revision: 139
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 30, 2006 13:49 by cochambre
Initial Code
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 = '[email protected]';
$mail_to = array('[email protected]','[email protected]');
$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');
Initial URL
Initial Description
Initial Title
Intercepta los errores de ejecución y los envÃa por mail al administrador con detalle del contexto
Initial Tags
mail, error
Initial Language
PHP