Establecer el tiempo máximo de ejecución en PHP

Subodh Poudel 20 junio 2023
  1. Utilice la función ini_set() para establecer el tiempo máximo de ejecución de un script en PHP
  2. Utilice la función set_time_limit() para establecer el tiempo máximo de ejecución de un script en PHP
  3. Cambie la opción max_execution_time en php.ini para establecer el tiempo máximo de ejecución de un script en PHP
Establecer el tiempo máximo de ejecución en PHP

En PHP, los tiempos de espera de ejecución después de un cierto período son generalmente de treinta segundos. Por lo tanto, es una molestia procesar un archivo enorme.

Pero podemos establecer el tiempo máximo de ejecución del script por nosotros mismos. Este artículo presentará tres formas de establecer el tiempo máximo de ejecución de un script en PHP para que los archivos grandes se procesen fácilmente.

Utilice la función ini_set() para establecer el tiempo máximo de ejecución de un script en PHP

Podemos usar la función ini_set() para establecer el tiempo de ejecución de un script PHP. La función se utiliza para establecer el valor de las configuraciones de PHP.

El primer parámetro toma el nombre de la configuración, mientras que el segundo parámetro es el valor de la configuración. El nombre de la configuración debe ser una cadena.

PHP tiene una configuración max_execution_time encargada de definir el tiempo máximo de ejecución del script. Podemos usar la opción de configuración en la función ini_set() para establecer nuestro tiempo de ejecución deseado.

Por ejemplo, escriba la función ini_set() en la parte superior del script PHP. Escriba 'max_execution_time' como primer parámetro y '240' como segundo parámetro.

En consecuencia, el tiempo de ejecución se ha fijado en 240 segundos, equivalente a cuatro minutos. También podemos establecer el segundo parámetro en '0' para establecer el tiempo de ejecución en infinito.

Por lo tanto, podemos usar la función ini_set() para establecer el tiempo de ejecución del script PHP actual.

Código de ejemplo:

ini_set('max_execution_time', '240');

Utilice la función set_time_limit() para establecer el tiempo máximo de ejecución de un script en PHP

También podemos establecer el tiempo de ejecución de un script PHP utilizando la función set_time_limit().

La función establece el tiempo máximo de ejecución de un script. Toma un parámetro entero en segundos.

Por ejemplo, escribe la función set_time_limit() y el entero 240 como su parámetro. Como resultado, el tiempo máximo de ejecución del script PHP actual se establece en cuatro minutos.

Sin embargo, necesitamos desactivar la opción de configuración safe_mode en php.ini para usar la función. Es porque set_time_limit() puede comprometer potencialmente la seguridad del servidor.

Por ejemplo, si configuramos set_time_limit(0), un bucle infinito puede ejecutarse para siempre en el script ya que no hay límite para el tiempo máximo de ejecución. Para desactivar safe_mode, podemos agregar la línea safe_mode = Off en el archivo php.ini.

Podemos establecer el tiempo máximo de ejecución del script en PHP usando la función set_time_limit().

Código de ejemplo:

set_time_limit(240);

Cambie la opción max_execution_time en php.ini para establecer el tiempo máximo de ejecución de un script en PHP

Los métodos que discutimos anteriormente establecen el tiempo máximo de ejecución del script temporalmente. Es decir, cuando finaliza el script, también finaliza la configuración.

Pero hay una forma de establecer permanentemente el tiempo máximo de ejecución de todos los scripts PHP. Necesitamos cambiar la opción de configuración max_execution_time con nuestro valor deseado en el archivo php.ini.

Podemos localizar el archivo php.ini navegando por la salida de la función phpinfo().

El siguiente ejemplo establece el tiempo máximo de ejecución en 240, equivalente a cuatro minutos.

Código de ejemplo:

max_execution_time = 240
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn