Cómo Solucionar el Error 'Maximum Execution Time Exceeded' en PHP Paso a Paso

Cómo Solucionar el Error 'Maximum Execution Time Exceeded' en PHP Paso a Paso
Anuncio relacionado

¿Qué es el error 'Maximum Execution Time Exceeded' en PHP?

El error Fatal error: Maximum execution time of 30 seconds exceeded es uno de los problemas más comunes a los que se enfrentan los desarrolladores web. Ocurre cuando un script de PHP tarda más tiempo en ejecutarse del límite predeterminado configurado en el servidor (que por defecto suele ser de 30 segundos). Esto es muy frecuente durante la importación de bases de datos grandes, la ejecución de bucles infinitos no intencionados o la actualización masiva de plugins y temas.

Causas principales del error

  • Scripts con consultas a bases de datos lentas o pesadas.
  • Bucles infinitos o mal optimizados en el código fuente.
  • Límites de tiempo de ejecución demasiado estrictos en la configuración de PHP.
  • Procesamiento de archivos pesados (imágenes, CSV, XML) sin suficiente optimización.

Método 1: Modificar el archivo php.ini

La forma más permanente de solucionar este problema a nivel de servidor es editando directamente el archivo de configuración principal de PHP, conocido como php.ini.

  1. Localiza tu archivo php.ini en el servidor (su ruta varía según el sistema operativo y la versión de PHP).
  2. Abre el archivo con un editor de texto con privilegios de administrador.
  3. Busca la directiva llamada max_execution_time.
  4. Cambia el valor predeterminado (por ejemplo, 30) a un número mayor o cero para eliminar el límite por completo (no recomendado en producción): max_execution_time = 300.
  5. Guarda los cambios y reinicia tu servidor web (Apache, Nginx) o el servicio PHP-FPM para aplicar la nueva configuración.

Método 2: Aumentar el tiempo mediante el archivo .htaccess

Si utilizas un servidor web Apache y no tienes acceso directo al archivo php.ini principal, puedes modificar este parámetro utilizando el archivo .htaccess ubicado en el directorio raíz de tu proyecto.

  1. Accede al gestor de archivos de tu hosting o mediante cliente FTP al directorio raíz de tu sitio web.
  2. Busca el archivo oculto llamado .htaccess (asegúrate de activar la opción de mostrar archivos ocultos).
  3. Añade la siguiente línea de código al final del archivo: php_value max_execution_time 300
  4. Guarda los cambios en el archivo y comprueba si el error ha desaparecido recargando la página en tu navegador.

Método 3: Cambiar el límite directamente desde el código PHP

Si necesitas aplicar una solución temporal o específica únicamente para un script pesado (como un script de migración o importación), puedes alterar el límite de tiempo de ejecución directamente en el código fuente utilizando la función ini_set() o set_time_limit().

  1. Abre el archivo PHP donde se origina la tarea de larga duración.
  2. Inserta la siguiente línea al principio del archivo: <?php set_time_limit(300); ?> (esto establece el límite en 300 segundos).
  3. Alternativamente, puedes usar: <?php ini_set('max_execution_time', '300'); ?>
  4. Guarda el archivo y ejecuta tu script nuevamente. Ten en cuenta que algunas configuraciones de servidor con safe_mode activado podrían bloquear esta función.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
PrestaShop

Cómo Solucionar el Error 500 en PrestaShop de Forma Definitiva

Aprende a diagnosticar y corregir el Error 500 en tu tienda PrestaShop en pocos minutos. Descubre los métodos más efectivos para restaurar el acceso.

Leer guía completa →
Apps

Cómo Solucionar el Error de Pantalla Negra en OBS Studio de Forma Definitiva

Aprende a resolver el problema de la pantalla negra en OBS Studio aplicando métodos sencillos de configuración gráfica. Vuelve a transmitir sin interrupciones.

Leer guía completa →
Juegos

Cómo Solucionar el Error 'Failed to Initialize BattlEye Service' en Juegos de PC de Forma Definitiva

¿Tus juegos favoritos no abren debido a un fallo con el sistema antitrampas? Aprende a reparar el error de BattlEye de forma rápida y sencilla.

Leer guía completa →