Mostrar errores PHP para detectar y solucionar

Por Felipe

Publicado en:

El desarrollo web es una disciplina en la cual se utilizan diversos lenguajes de programación, siendo los más habituales el JavaScript y el PHP (junto al lenguaje de marcado HTML y las hojas de estilo CSS).

Cuando se escribe código es habitual que se presenten una serie de errores que pueden pasar desapercibidos para el programador si no se muestran en tiempo de ejecución, algo que pasa, por ejemplo, en PHP.

Mostrar errores PHP es una opción muy interesante para poder detectar esos errores o problemas que deben solventarse y que pueden permanecer mucho tiempo ocultos (disminuyendo el rendimiento y la seguridad del sitio web).

 

Ventajas de la función de mostrar errores de PHP

En PHP no mostrar errores es muy cómodo porque así se evitan los continuos avisos o warnings que pueden llegar a resultar muy molestos, convirtiéndose en elementos distractores que sacan el foco de lo que se está haciendo.

Si se muestran los errores con una configuración correcta pueden resultar muy útiles siendo los principales beneficios que se obtienen:

 

Identificar qué está fallando

Con la activación de la opción de mostrar errores se tendrá un manejo de errores en PHP, permitiendo identificar qué código específico del script está fallando. De esta manera, se aceleran los tiempos de corrección de errores, pudiendo terminar el trabajo de programación en menos tiempo.

 

Corregir errores de actualizaciones

Al realizar cualquier tipo de actualización en una web se pueden generar errores que deben detectarse y solventarse. Al mostrar los errores en PHP siempre se podrán detectar y actuar de forma apropiada para resolverlos.

 

Cómo mostrar los errores PHP

Veamos cómo en PHP mostrar errores y warnings de manera sencilla para que sean útiles a la hora de trabajar en el desarrollo de una web o aplicación.

 

Mostrar errores PHP de forma manual

PHP no muestra los errores por defecto por lo que es necesario utilizar un comando para activar la visualización de los mismos. Para ello es necesario localizar el archivo php.ini que se encuentra en la carpeta de PHP del servidor. En ese archivo hay que añadir la siguiente línea:

display_errors = on.

Con esta acción se mostrará en todas las URLs de la web un mensaje con los errores detectados.

Si se quiere activar solo el aviso de errores en una determinada URL se puede realizar añadiendo a la cabecera de la página el siguiente código PHP:

< ?php

ini_set(‘display_errors’, 1);

ini_set(‘display_startup_errors’, 1);

error_reporting(E_ALL);

? >

Con esto evitamos que los errores PHP se muestren en todas las páginas de la web, limitando su aparición a las URLs donde añadamos este código.

 

Mostrar errores PHP en WordPress

WordPress es un CMS que está programado en PHP y que tiene oculto por defecto los errores. Debido a que al añadir plugins e ir añadiendo código a una web empiezan a surgir errores PHP, es bueno mostrarlos para solventarlo lo antes posible y garantizar el rendimiento y seguridad de la web.

Para activar la depuración de errores en WordPress es necesario editar el archivo config.php que se encuentra en la raíz de los archivos de la plataforma en el servidor. Es necesario localizar la entrada define(‘WP_DEBUG’, false); y sustituirla por el siguiente código:

ini_set(‘log_errors’,’On’);

ini_set(‘display_errors’,’Off’);

ini_set(‘error_reporting’, E_ALL );

define(‘WP_DEBUG’, true);

define(‘WP_DEBUG_LOG’, true);

define(‘WP_DEBUG_DISPLAY’, false);

Este método tiene la gran ventaja que no presenta errores en la pantalla, por lo que permanecen invisibles a ojo de los usuarios. En su lugar, los errores se guardan en un archivo log de texto que se pueden consultar en cualquier momento.

Se puede automatizar el envío del archivo log por email cada vez que se genere un error, algo muy útil para los programadores que utilizan PHP.

 

Personalizar los errores PHP a mostrar

En PHP existen 16 niveles de errores por lo que activar el mostrar errores de forma genérica mostrará muchos errores que pueden incluso llegar a ser molesto. Afortunadamente, es posible seleccionar los errores a mostrar de forma personalizada.

Por ejemplo, para mostrar los errores del tipo NOTICE hay que añadir el siguiente parámetro: error_reporting(E_NOTICE);.

Modificando el tipo de error se puede personalizar los que se muestran en la web. La lista de parámetros para mostrar errores (con su código correspondiente), es la siguiente:

1 – E_ERROR

2 – E_WARNING

4 – E_PARSE

8 – E_NOTICE

16 – E_CORE_ERROR

32 – E_CORE_WARNING

64 – E_COMPILE_ERROR

128 – E_COMPILE_WARNING

256 – E_USER_ERROR

512 – E_USER_WARNING

1024 – E_USER_NOTICE

6143 – E_ALL

2048 – E_STRICT

4096 – E_RECOVERABLE_ERROR

 

El manejo de errores en PHP es mucho más sencillo si se activa la opción de mostrarlos, así se dispondrá siempre de información actualizada sobre la cantidad de errores y dónde se encuentran. 

Es importante recordar que, cuando se activa mostrar errores en PHP, tanto los desarrolladores como los usuarios pueden ver los mensajes de error, por lo que siempre es importante utilizar esta opción de manera temporal para no arruinar la experiencia de usuario.