Su web muestra una página vacía, o la frase «Ha habido un error crítico en esta web». En los dos casos, PHP ha escrito en algún lugar un mensaje preciso que nombra el archivo responsable. Esta guía muestra dónde leerlo, cómo interpretarlo y qué paso corresponde a cada mensaje.
wp-config.php y vuelva a cargar la página con el error.PHP Fatal error de wp-content/debug.log: la ruta del archivo nombra el plugin o el tema responsable.debug.log.Una pantalla en blanco suele ser un error fatal de PHP: un archivo del sitio ha pedido algo imposible y la ejecución se ha detenido antes de mostrar nada. Desde WordPress 5.2, WordPress intercepta estos errores: en lugar de una página vacía, muestra «Ha habido un error crítico en esta web» y envía un correo a la dirección de correo electrónico de administración del sitio.
La página sigue totalmente en blanco en algunos casos: una versión de WordPress más antigua, un error ocurrido antes de que se cargue este mecanismo, la constante WP_DISABLE_FATAL_ERROR_HANDLER con el valor true, o un plugin de caché que sirve una página vacía guardada durante la avería. El método que sigue vale para todos estos casos.
Tres pasos pueden esperar a que haya leído el error: reinstalar WordPress, eliminar plugins, restaurar una copia de seguridad antigua. Cada uno puede borrar ajustes o datos recientes, mientras que el mensaje de error suele indicar qué componente desactivar, sin perder nada.
Cuando WordPress intercepta el error, envía a la dirección de correo electrónico de administración del sitio un mensaje con el asunto «[Nombre del sitio] Tu sitio tiene problemas técnicos». Nombra el plugin o el tema responsable e incluye un enlace que abre la administración en modo de recuperación.
Conéctese al sitio por SFTP o con el administrador de archivos de su proveedor de hosting, abra wp-config.php en la raíz y sustituya la línea define( 'WP_DEBUG', false ); por estas cuatro líneas:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Se colocan encima del comentario que cierra la zona editable del archivo (/* ¡Eso es todo, deja de editar! Feliz blogging */ en un WordPress instalado en español). Vuelva a cargar la página con el error y abra wp-content/debug.log. WP_DEBUG_DISPLAY en false mantiene los mensajes en el archivo, fuera de la página que ven sus visitantes.
Si debug.log sigue vacío o no aparece, PHP ha registrado el error directamente: busque un archivo error_log en la raíz del sitio o en wp-admin, o el apartado de registros de errores en el panel de su proveedor.
Un error fatal cabe en una línea: el tipo de error, su descripción y, después, in seguido de la ruta completa del archivo y del número de línea. La ruta es el dato más útil: wp-content/plugins/nombre/ designa un plugin, wp-content/themes/nombre/ un tema.
| El mensaje contiene | Lo que significa | El paso |
|---|---|---|
Call to undefined function o Class "…" not found, en wp-content/plugins/nombre-plugin/ | El plugin llama a un código ausente: actualización incompleta, plugin del que depende desactivado o versión de PHP que no admite. | Desactivar ese plugin y, después, reinstalarlo o actualizarlo. |
Allowed memory size of 268435456 bytes exhausted | El script ha superado la memoria asignada a PHP, aquí 268.435.456 bytes, es decir, 256 MB. | Subir WP_MEMORY_LIMIT en wp-config.php, dentro del límite que fija el proveedor, y buscar qué consume tanta memoria. |
PHP Parse error: syntax error, unexpected, en functions.php on line 42 | Un error de sintaxis en un archivo, muy a menudo tras una modificación hecha a mano en el editor de temas. | Corregir la línea indicada, o volver a la versión anterior del archivo. |
Uncaught TypeError o Uncaught ArgumentCountError, tras un cambio de versión de PHP | Un componente escrito para una versión de PHP más antigua, que la versión instalada se niega a ejecutar. | Actualizar el componente. Como solución temporal, volver a la versión de PHP anterior en el panel del proveedor mientras se sustituye. |
Maximum execution time of 30 seconds exceeded | Un proceso ha superado la duración que permite PHP (max_execution_time). | Identificar el proceso (importación, copia de seguridad, generación de imágenes) y subir el límite en el proveedor si ese proceso es legítimo. |
define( 'WP_MEMORY_LIMIT', '256M' );
Cambie el nombre de la carpeta del plugin que cita el mensaje, por ejemplo de wp-content/plugins/nombre-plugin a nombre-plugin.off. WordPress deja de encontrar el plugin y de cargarlo; sus ajustes siguen guardados en la base de datos, y WordPress lo desactiva la próxima vez que se abre la pantalla de plugins.
En el caso de un tema, cambiar el nombre de su carpeta en wp-content/themes devuelve el acceso a la administración, pero los visitantes ven una página vacía mientras no haya ningún tema activo. Abra enseguida Apariencia > Temas: WordPress muestra el aviso «El tema activo está roto. Volviendo al tema por defecto» y pasa a un tema por defecto instalado.
wp plugin list --status=active
wp plugin deactivate nombre-plugin
wp theme list
wp theme activate twentytwentyfive
El primer comando muestra la lista de plugins activos, que conviene guardar antes de cualquier desactivación en bloque. Si el propio WP-CLI se detiene por el error, añada --skip-plugins --skip-themes al comando: se ejecuta entonces sin cargar los plugins ni el tema. Los plugins de la carpeta wp-content/mu-plugins se cargan de todos modos; si el error viene de uno de ellos, cambie el nombre de su archivo.
Cuando el mensaje no señala ningún componente, wp plugin deactivate --all desactiva todos los plugins. Si el sitio vuelve, reactívelos uno a uno, recargando el sitio entre uno y otro: el último reactivado antes de que vuelva el error es el responsable.
define( 'WP_DEBUG', false ); y retire WP_DEBUG_LOG de wp-config.php.wp-content/debug.log: al estar en una carpeta accesible desde la web, cualquiera puede leerlo, y contiene rutas del servidor.Con Serenity by Simafri, creamos su sitio web profesional, lo alojamos, lo protegemos y lo mantenemos actualizado. Usted nos escribe, nosotros nos ocupamos de todo. Nombre de dominio y correo profesional incluidos.
Porque se ha producido un error fatal de PHP, en la mayoría de los casos en un plugin o en un tema. WordPress lo intercepta, muestra este mensaje y envía un correo a la dirección de correo electrónico de administración del sitio, con un enlace al modo de recuperación. El registro de depuración da el detalle del error y el archivo responsable.
Revise la carpeta de spam y la Dirección de correo electrónico de administración indicada en Ajustes > Generales. Sin correo, active el registro de depuración en wp-config.php, lea el error en wp-content/debug.log y desactive el componente responsable cambiando el nombre de su carpeta por SFTP.
No. Los ajustes de los plugins se guardan en la base de datos, no en su carpeta. Un plugin renombrado aparece desactivado; devuélvale su nombre original y actívelo de nuevo desde la pantalla de plugins para recuperarlo con sus ajustes.
El componente con el error solo se carga en la administración, o allí necesita más memoria. WordPress aplica WP_MAX_MEMORY_LIMIT a las pantallas de administración y WP_MEMORY_LIMIT al sitio público. El registro de depuración da la misma información en ambos casos: cargue la página de administración con el error y lea después debug.log.
Simafri
Hablemos de su proyecto
Díganos en pocas palabras lo que necesita: le respondemos rápidamente.
¡Gracias! Su solicitud ha sido enviada. Le responderemos en breve.
¿Prefiere el correo? Escríbanos a support@simafri.com.