Inicio Informática Cómo crear un registro de errores de tu web con PHP

Cómo crear un registro de errores de tu web con PHP

Publicado por entreunosyceros
Publicado el: Última actualización:

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

registro de errores PHPDespués de un tiempo demasiado ocupado para publicar, he recordado el otro día que tenía esta página funcionando en la que puedo dejar apuntado un pequeño ejercicio con el que poder crear un registro de errores con el que poder controlar los errores que genere nuestra web. En mi caso diré que lo he utilizado mientras montaba un Prestashop 1.6.1.1 y bueno, aclarar también que el listado de ordenes PHP no lo he desarrollado yo, a mi me lo ha pasado un tal Manuel, pero que si lo buscas por la red aparecerá en más sitios que este.

El script para crear el registro de errores que tienes que pegar en el archivo index.php de tu web son las siguientes:

/******************* REGISTRO ERRORES **********************/

error_reporting(E_ALL & E_NOTICE & E_STRICT & E_DEPRECATED);

$old_error_handler = set_error_handler("userErrorHandler");

function userErrorHandler ($errno, $errmsg, $filename, $linenum,  $vars){
$time=date("d M Y H:i:s");
// Se toma el error según el número encontrado
$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");
$errlevel=$errortype[$errno];

//Escribir en un archivo excel (formato CSV)
$errfile=fopen("errors.csv","a");
//fputs($errfile,'"'.$time.'";"'.$filename.'";"'.$linenum.'";"'.$errno.' ('.$errlevel.') '.$errmsg.'";"'.print_r($vars,true).'";'. "rn");
fputs($errfile,'"'.$time.'";"'.$filename.'";"'.$linenum.'";"'.$errno.' ('.$errlevel.') '.$errmsg.'";'."rn");
fclose($errfile);

if($errno!=2 && $errno!=8) {
//Se termina el script si se produce un error fatal
die("Error fatal. El script ha sido abortado");
}
}

Con esto conseguiremos que cada vez que se ejecute la web (bien sea en el home, categoría o productos) y Prestashop (en este caso) encuentre algún error, warning, parsing error, notice, o cualquier otro de los que indicamos líneas más arriba. Estos mensajes serán guardados en un archivo llamado errors.csv (que podremos abrir con un excel cualquiera). Dentro del archivo encontraremos  el número de error, el nombre y la ubicación del archivo dónde se produce, la línea y el tipo de error. Sabiendo todo esto y teniendo paciencia (en algunos casos) podremos reparar la web justo en los puntos en los que lo necesite.

Diré que errores como los Notice, no son errores realmente. En muchisimos casos me he encontrado con que Notice  no afecta en absoluto al funcionamiento de la web, supongo que dependerá que tipo de servidor utilicemos para la web.

Con esto doy por terminado este post a modo de recordatorio. Próximamente más unos y ceros.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

1 Comentario

SapoClay 12 octubre, 2015 - 2:29 AM

Hubo algunos problemas al copiar y pegar el código (los > y los < han sido sustituidos por sus correspondientes caracteres & amp; y =& gt;

Respuesta
Resumen de privacidad
cookies entreunosyceros

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudarnos a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal de ningún tipo.

Tienes toda la información sobre privacidad, derechos legales y cookies en nuestra página sobre la política de privacidad o en la página sobre nuestra política de cookies.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza las siguientes cookies adicionales:

- Mailchimp: Recordar si ya estás suscrito al boletín de noticias y sino ofrecértelo al salir.

- Accesibilidad: Para saber tus ajustes de accesibilidad en cada visita.

- Comentarios: Saber si has leído y aceptado nuestra política de privacidad a la hora de dejar un comentario en la web.

- Google Analytics: Localización para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

- Goggle Adsense: Anuncios personalizados según tu geolocalización y preferencias.

Dejar estas cookies activadas nos permite mejorar nuestra web.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.