Portada » Glosario » Tiempo máximo de ejecución de PHP

Tiempo máximo de ejecución de PHP

Qué es el tiempo máximo de ejecución de PHP

El tiempo máximo de ejecución de PHP es el límite de segundos que tu servidor permite que un proceso siga funcionando antes de detenerlo, y una tarea pesada puede superarlo y quedar a medias. También se conoce por el nombre técnico de su directiva, «max_execution_time».

Es como el tiempo límite que tiene un cocinero para preparar un plato antes de que la cocina pase al siguiente pedido: si la receta es sencilla, sobra tiempo de margen, pero si es muy elaborada y se pasa del límite, el pedido se queda a medias y hay que empezar de nuevo. El servidor fija un tiempo máximo (por ejemplo, 30 segundos) durante el cual un proceso de PHP puede seguir ejecutándose; si una tarea (generar una página muy pesada, procesar un archivo grande, hacer una copia de seguridad completa) necesita más tiempo del permitido, PHP la detiene a mitad de camino en lugar de dejarla continuar indefinidamente.

Cómo funciona

  1. El servidor tiene configurado un tiempo máximo de ejecución para cada proceso de PHP.
  2. Cuando WordPress o un plugin inician una tarea (generar una página, procesar una importación, crear una copia de seguridad), ese contador empieza a correr.
  3. Si la tarea termina antes de llegar a ese límite, todo funciona con normalidad.
  4. Si la tarea necesita más tiempo del permitido, PHP la interrumpe, dejando el proceso a medias.
  5. Aumentar este límite da más margen a tareas pesadas, aunque algunas operaciones muy largas conviene dividirlas en partes más pequeñas en lugar de depender solo de ampliar el tiempo.

Ejemplo

Una tienda de electrónica de segunda mano online en Badalona tenía un catálogo muy amplio y, al intentar importar cientos de productos de golpe desde un archivo, el proceso se detenía siempre a medias, dejando una parte del catálogo sin importar. El tiempo máximo de ejecución de PHP de su hosting era demasiado bajo para una tarea tan pesada. Ampliamos ese límite a un valor adecuado y, además, configuramos la importación para que se hiciera en bloques más pequeños, y el catálogo completo se importó sin ningún corte.

Señales de que te afecta

  • Aparece un error mencionando «maximum execution time exceeded» al realizar ciertas tareas.
  • Importaciones, exportaciones o copias de seguridad grandes se quedan a medias siempre en el mismo punto.
  • El problema ocurre solo con tareas especialmente pesadas, no con el uso normal de la web.
  • Tu plan de hosting tiene un límite de tiempo de ejecución genérico, no pensado para WordPress.

Cómo lo resolvemos

Revisamos el tiempo máximo de ejecución configurado en tu servidor, lo ajustamos a un valor adecuado para las tareas pesadas de tu web, y cuando tiene sentido, dividimos esas tareas en bloques más pequeños para no depender solo de ampliar el límite. Si quieres que revisemos esto en tu web, en nuestro servicio de optimización de WordPress nos encargamos de ello. Este límite de tiempo es independiente del límite de memoria PHP, aunque ambos pueden provocar que una tarea pesada falle a medias por motivos distintos.

Preguntas frecuentes

¿Puedo aumentar yo mismo el tiempo máximo de ejecución?

A veces sí, desde el panel de tu hosting o editando un archivo de configuración, pero si tu plan tiene un tope fijo, puede que haga falta cambiar de plan para conseguir más margen.

¿Aumentar el tiempo máximo soluciona cualquier tarea que falle a medias?

Ayuda en muchos casos, pero si la tarea es extremadamente pesada, puede ser más eficaz dividirla en partes más pequeñas en lugar de depender de un límite cada vez más alto.

¿Este límite afecta a la navegación normal de los visitantes?

Prácticamente nunca: las páginas normales se generan en una fracción de segundo, muy por debajo de este límite; solo afecta a tareas especialmente pesadas como importaciones, copias de seguridad o procesos de mantenimiento.

Scroll al inicio
Escanea el código