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