Blog de informática: programación, internet, php, wordpress, zend framework, mysql, windows, mootools, linux,…
In: php
12 oct 2009
Quiero hacer una entrada breve, que explique, resuma y muestre las diferentes opciones que nos da PHP a la hora de mostrar los errores. Determinaremos los diferentes niveles de filtrado de error que hay,
Primero de todo, hay que explicar que PHP tiene la opción de mostrar o ocultar todos los errores que se produzcan. Cuando estemos en la fase de desarrollo o de testing de la aplicación, nos interesará que la opción esté activa; y si es producción, de cara al usuario no nos interesará que reciba información de errores. La variable ser llama ‘display_errors‘, y se puede modificar desde el archivo php.ini, o en ejecución con la función ini_set.
// Activar errores ini_set('display_errors', 'On'); ini_set('display_errors', 1);
Existe otra variable llamada ‘display_startup_errors‘, de la cual no he encontrado mucha información, pero trata sobre mostrar o no los errores que se producen en la secuencia de encendido de PHP. Son errores distintos de los que se muestran con ‘display_errors’ activada, pero ambas variables se pueden modificar de la misma manera.
Bién, una vez activada la opción de mostrar errores, hay que determinar el nivel de errores que se quieren mostrar. Para ello, hay que conocer los distintos niveles que hay:
Los nombres de los niveles son constantes. Existen otros niveles, pero menos importantes. Para aplicar el nivel, hay las mismas dos opciones que antes: a través del parámetro error_reporting del archivo php.ini, o modificar el valor en ejecución con las funciones error_reporting o ini_set. Aquí dejo los usos o ejemplos más comunes, y que más pueden interesar:
ini_set('display_errors', 'On'); // Valor por defecto en PHP // Muestra todos los errores menos las notificaciones error_reporting(E_ALL ^ E_NOTICE); // Muestro todos los errores error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE); error_reporting(E_ALL); error_reporting(-1); // Muestro todos los errores, incluso los estrictos error_reporting(E_ALL | E_STRICT); // No muestra ningún error error_reporting(0); // También se puede usar la función ini_set ini_set('error_reporting', E_ALL);
Solo falta comentar que se puede configurar otros aspectos relacionados con los errores de PHP, modificando otras variables del php.ini, relacionadas con los errores. Puede ser útiles: guardar los errores en logs, dar formato a los mensajes de error,…
Vía Emezeta y Carsonified.
Entradas relacionadas:
Este blog informático pretende ser un blog de notas o portafolio de información variada: trozos de código, descubrimientos, notas sueltas, ... Para tenerla a mano, y ser compartida.
1 Comentario en Configurar PHP para que muestre los errores
Jonathan
13 octubre 2009 a las 22:14
Oye Delegado tenemos que hablar de algo serio… a ver cuando me pasas tu email que no lo encuentro por ningun lado