Solucionar problemas
Maximum execution time of X seconds exceeded in x.php
El mensaje:
Maximum execution time of X seconds exceeded in x.php
confirma que el proceso alcanzó el límite max_execution_time de PHP. El fichero y la línea indican dónde se agotó el temporizador, pero no demuestran por sí solos qué componente consumió el tiempo.
Reproduce la operación exacta y consulta primero el registro de la aplicación y de PHP. Si se trata de una petición lenta reproducible, utiliza PHP X-Ray para comprobar si el tiempo se concentra en una consulta SQL, una llamada externa, una función o un componente concreto. Descarta también bucles, reintentos y volúmenes de datos inesperados.
Solo amplía el límite cuando la operación sea legítima, acotada y razonablemente necesite más tiempo. Comprueba qué versión de PHP ejecuta la ruta, accede a cPanel > Seleccionar versión de PHP > Options y fija max_execution_time en el menor valor finito que permita completar la prueba. El cambio afecta a todas las webs que utilicen esa versión.
No aumentes el valor progresivamente hasta que el error desaparezca y no lo establezcas sin límite. PHP utiliza este temporizador como protección frente a scripts defectuosos. Además, el servidor web y otros componentes pueden aplicar tiempos de espera independientes.
Después de la prueba, restaura el valor anterior. Si el proceso vuelve a agotar un valor razonable, corrige la operación o el componente identificado en lugar de seguir ampliándolo. Si sospechas una limitación de recursos, comprueba los fallos registrados de CPU, memoria, entrada, IO o procesos: un consumo alto sin un fallo de límite no demuestra que ese límite haya terminado o ralentizado la petición.
Tiempo de PHP y tiempo total de la petición
En sistemas Unix, max_execution_time no mide necesariamente todo el tiempo de reloj transcurrido: esperas de ciertas operaciones externas pueden quedar fuera de su cómputo. En Windows su comportamiento es distinto. Por eso un tiempo total observado en el navegador no se compara directamente con ese límite. Consulta la definición de PHP.
Para importaciones o trabajos largos, valora dividir el trabajo en lotes o ejecutarlo mediante una tarea CLI compatible, con control de errores y progreso. CLI también puede tener límites propios y no evita cuotas del hosting. Antes de reintentar una operación interrumpida, comprueba qué datos ya se guardaron para no duplicarlos.
También te puede ayudar
- Error PHP al usar require_once, require, include_once o include Interpreta el mensaje completo cuando PHP no puede abrir un fichero y comprueba ruta, permisos y res...
- Depurar errores en aplicaciones o ficheros PHP Diagnostica una pantalla en blanco o un error 500 reproduciendo el fallo y consultando primero el re...
- Habilitar el registro de errores de PHP desde cPanel Activa temporalmente log_errors para la versión efectiva desde el selector de PHP de cPanel, sin mos...
- Registrar errores de PHP para un fichero concreto Captura errores de un único fichero PHP en un registro privado y temporal, manteniendo display_error...
¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.