Recibir por email los errores de nuestras aplicaciones en PHP

A veces, por muy depurada que creamos que está una aplicación, si ésta es muy compleja, es probable que en el futuro produzca algún error que nos es desconocido bajo ciertos parámetros.

Si nuestra aplicación está escrita en PHP, entonces estamos de suerte, porque hay una forma muy sencilla de monitorizar los errores de nuestras aplicaciones en PHP, y enviarnos toda esta información a nuestro email. De forma que cuando se produzca un error en nuestra aplicación PHP, se nos envíe un email con el aviso y el detalle de dicho error. Útil, ¿no? Pues veamos cómo llevarlo a cabo:

Definimos la siguiente función PHP:

function php_error_handler($number, $message, $file, $line, $vars){
$email = »
<p>Error num. ($number) ocurrido en la linea
<strong>$line</strong> y en el <strong>fichero: $file.</strong>
<p> $message </p>»;
$email .= «<pre>» . print_r($vars, 1) . «</pre>»;
$headers = ‘Content-type: text/html; charset=iso-8859-1’ . «rn»;
error_log($email, 1, ‘you@domain.com’, $headers);
if ( ($number !== E_NOTICE) && ($number < 2048) ) {
die(«Hubo un error. Por favor, intentelo mas tarde.»);
}
}

… sustituyendo you@domain.com por nuestra dirección de email.

Y declaramos la función que se ejecutará cuando tenga lugar un error, mediante:

set_error_handler(‘php_error_handler‘);

Fuente: net.tutsplus.com