AGENCIA DE DESARROLLO

SOMOS ASCENDIFY

Desarrollo web premium y soluciones personalizadas para tu negocio. Creamos sitios web de alto rendimiento con un enfoque en la calidad y la experiencia del usuario.

Cómo depurar errores de PHP en WordPress: debug logging y stack traces

La depuración de errores en PHP es una de las tareas más cruciales para mantener un sitio web WordPress saludable y funcional. A menudo, los errores pueden surgir por diversas razones, desde conflictos de plugins hasta problemas de compatibilidad con el tema. En este post, exploraremos cómo activar y utilizar el registro de depuración (`debug logging`) y los trazados de pila (`stack traces`) para identificar y resolver errores de manera efectiva.

## Activando el modo de depuración en WordPress

La primera etapa para depurar cualquier problema en WordPress es habilitar el modo de depuración. Esto se logra fácilmente editando el archivo `wp-config.php`, que se encuentra en la raíz de tu instalación de WordPress. Sigue estos pasos:

1. **Abre el archivo `wp-config.php`.**
2. **Busca la línea que dice `define(‘WP_DEBUG’, false);`.**
3. **Cámbiala a `define(‘WP_DEBUG’, true);`.**

Este ajuste activará el modo de depuración, lo que permitirá que WordPress muestre cómo fueron ejecutadas ciertas funciones y métodos, así como cualquier advertencia o error.

## Activando el registro de depuración

Ahora que el modo de depuración está activado, el siguiente paso es establecer el registro de depuración. Esto guardará los errores en un archivo, lo que facilita la revisión. Para activar esto, añade las siguientes líneas al mismo archivo `wp-config.php`:

«`php
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, false);
@ini_set(‘display_errors’, 0);
«`

Con estas configuraciones:

– `WP_DEBUG_LOG` permite que WordPress registre todos los mensajes de error en un archivo llamado `debug.log` ubicado en el directorio `wp-content`.
– `WP_DEBUG_DISPLAY` se establece en `false` para evitar que los errores se muestren en la interfaz del usuario, lo que es especialmente útil en entornos de producción.
– `@ini_set(‘display_errors’, 0);` desactiva la visualización de errores PHP en pantallas.

## Localizando y analizando el archivo `debug.log`

Después de activar el registro de depuración, todos los errores, advertencias y avisos se guardarán en el archivo `debug.log`. Para revisarlo:

1. **Accede a tu servidor mediante FTP o un administrador de archivos.**
2. **Navega hasta la carpeta `wp-content`.**
3. **Abre el archivo `debug.log` con un editor de texto.**

Aquí encontrarás una lista de los errores y advertencias con detalles sobre el archivo y la línea donde se produjeron. Esto te ayudará a identificar rápidamente el origen del problema.

## Utilizando trazas de pila para identificar errores

Las trazas de pila son una herramienta avanzada que te permite ver el flujo de ejecución de tu código y seguir el rastro de lo que ha sucedido antes de que se manifestara un error. Para habilitar las trazas de pila en WordPress, puedes usar la función `debug_backtrace()`. Sin embargo, es más común verlas en las secciones del `debug.log` cuando un error se produce.

Un ejemplo de entrada en el archivo `debug.log` con traza de pila podría ser:

«`
[30-Mar-2023 14:45:12 UTC] PHP Fatal error: Uncaught Error: Call to undefined function my_custom_function() in /path/to/your/file.php:10
Stack trace:
#0 /path/to/another/file.php(20): my_custom_function()
#1 {main}
thrown in /path/to/your/file.php on line 10
«`

En este caso, la traza de pila te muestra que la función `my_custom_function()` fue llamada, pero no se encontró

CONTACTANOS

¡Hablemos de tu próximo proyecto!

¿Listo para llevar tu negocio al siguiente nivel con una solución web personalizada? Contáctanos hoy y trabajemos juntos en el desarrollo de un sitio web a medida que impulse tu negocio.