Mostrar errores PHP para detectar y solucionar

Para mostrar los errores de PHP agrega al inicio de tu script ini_set('display_errors', 1); y error_reporting(E_ALL);. En WordPress, define WP_DEBUG en true dentro de wp-config.php. La regla de oro: en un sitio en producción los errores se registran en un log con log_errors, nunca se muestran en pantalla.
¿Por qué activar los errores de PHP?
PHP es el lenguaje que mueve WordPress, WooCommerce y la mayoría de los sitios en Chile. Cuando algo falla —una página en blanco, un plugin que rompe el sitio tras actualizar, un formulario que no envía— PHP sabe exactamente qué pasó, pero por defecto no te lo dice. Activar la visualización de errores te permite:
- Identificar qué está fallando: el mensaje indica archivo y línea exacta del problema.
- Corregir errores tras actualizaciones de plugins, temas o de la propia versión de PHP.
- Detectar incompatibilidades antes de migrar a una versión nueva de PHP (los avisos deprecated son la lista de tareas previa al upgrade).
Cómo mostrar errores PHP de forma manual
En cualquier script PHP, agrega estas líneas al inicio del archivo (por ejemplo, en index.php durante el desarrollo):
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
?>Si administras el servidor o usas un hosting con cPanel, también puedes activarlo globalmente: en cPanel ve a MultiPHP INI Editor, elige el dominio y activa display_errors. Recuerda desactivarlo al terminar.
Cómo mostrar errores PHP en WordPress
WordPress trae su propio modo de depuración. Edita wp-config.php (está en la raíz de tu instalación) y reemplaza la línea de WP_DEBUG por:
define('WP_DEBUG', true); // activa el modo depuración
define('WP_DEBUG_LOG', true); // guarda errores en wp-content/debug.log
define('WP_DEBUG_DISPLAY', false); // no los muestra a tus visitantesEsta combinación es la más segura: tú revisas el archivo wp-content/debug.log con calma y tus visitantes nunca ven mensajes técnicos. Si el sitio está en una etapa de desarrollo sin visitas, puedes poner WP_DEBUG_DISPLAY en true para ver los errores directamente en pantalla.
Tipos de errores de PHP y qué significa cada uno
| Error | Qué significa | Gravedad |
|---|---|---|
| Parse error | Error de sintaxis: falta un punto y coma, una llave o comillas. El script no llega a ejecutarse. | Crítica |
| Fatal error | PHP no puede continuar: función inexistente, clase no encontrada, memoria agotada. Causa típica de la “página en blanco”. | Crítica |
| Warning | Algo anda mal (archivo que no existe, argumento inválido) pero el script sigue ejecutándose. | Media |
| Notice | Aviso menor: variable sin definir, índice inexistente. No detiene nada, pero delata código descuidado. | Baja |
| Deprecated | Usas una función que desaparecerá en versiones futuras de PHP. Es tu lista de pendientes antes de actualizar. | Preventiva |
Personalizar qué errores mostrar
No siempre quieres ver todo. error_reporting() acepta filtros para concentrarte en lo importante:
// Todo excepto avisos menores y deprecados error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); // Solo errores fatales y de sintaxis error_reporting(E_ERROR | E_PARSE);
En producción: regístralos, nunca los muestres
Un mensaje de error en pantalla puede revelar rutas del servidor, versiones y hasta credenciales a cualquier visitante — un regalo para atacantes y una pésima señal de confianza. En sitios en producción la configuración correcta es:
ini_set('display_errors', 0);
ini_set('log_errors', 1);
ini_set('error_log', '/home/tuusuario/logs/php-errors.log');En un hosting con cPanel no necesitas configurar la ruta: los errores quedan en el archivo error_log de la carpeta del sitio y en la sección Métricas → Errores. Más detalles de seguridad en nuestra guía de mejores prácticas para la seguridad de sitios web.
PHP 8 es más estricto: actívalos antes de actualizar
Si tu sitio aún corre PHP 7.4 (sin soporte desde noviembre de 2022), al pasar a PHP 8.x notarás que varios avisos que antes eran warnings ahora son errores que detienen el script, y muchas funciones quedaron deprecadas. La jugada inteligente: activa WP_DEBUG_LOG unos días antes de subir la versión, corrige lo que aparezca en el log y recién entonces actualiza. Tu web cargará más rápido — PHP 8 rinde notablemente mejor, como explicamos en cómo acelerar tu página web en WordPress.
Preguntas frecuentes
¿Es seguro mostrar errores en un sitio en producción?
log_errors para registrarlos en un archivo y mantén display_errors desactivado.¿Dónde veo el log de errores en cPanel?
¿Por qué mi web muestra una página en blanco sin ningún error?
¿Activar WP_DEBUG hace más lenta mi web?
¿Tu hosting te deja trabajar así de fácil? En HostingPlus cambias la versión de PHP y revisas tus logs directo en cPanel, con discos NVMe y soporte humano 24/7 desde Chile.
Sigue leyendo
¿Tu web merece un hosting más rápido? Discos NVMe, datacenter TIER 3 en Chile, SSL y dominio .cl incluidos, con soporte humano 24/7.
Ver planes de hosting →



