Un aspecto importante de los programas PHP es que el tiempo máximo que se tarda en ejecutar un script es de 30 segundos. El límite de tiempo varía según las empresas de alojamiento, pero el tiempo máximo de ejecución es de 30 a 60 segundos. El usuario puede recibir errores de límite de tiempo máximo debido a alguna importación o exportación pesada de archivos o programas que implican el envío de correo a muchos destinatarios. Para evitar la situación, debe aumentar el límite de tiempo de ejecución.
Este artículo describe cómo cambiar o controlar el tiempo máximo de ejecución de un script PHP.
Requisito previo requerido:
ya tiene un archivo php.ini personalizado configurado en su aplicación o se debe realizar una solicitud al propietario que lo mantiene. Si algunos de los scripts PHP tardan más tiempo, el servidor se detiene y arroja un error:
Fatal error: Maximum execution time of..seconds exceeded in this_file.php on line...
Para evitar esta situación, puede cambiar la directiva max_execution_time en el archivo de configuración php.ini . Veamos las formas en que podemos establecer el tiempo para la ejecución del script en PHP. Estos se enumeran a continuación:
- Busque la directiva max_execution_time en el archivo php.ini y edite su valor, según lo requiera el script PHP.
; Maximum execution time of each script, in seconds ; http://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI max_execution_time = 4000
- El valor predeterminado de la directiva se cambia según sea necesario.
- Nota: Tenemos que reiniciar el servidor web, una vez realizados los cambios en el archivo de configuración. Con esta configuración, la configuración se hace global para todos los scripts de PHP. Los cambios realizados en este archivo de manera incorrecta pueden crear problemas en el servidor web o en los proyectos en vivo.
- Use la función incorporada de PHP set_time_limit (segundos) donde segundos es el argumento pasado, que es el límite de tiempo en segundos. Se utiliza cuando el usuario cambia la configuración fuera del archivo php.ini . La función se llama dentro de su propio código PHP. Utilice set_time_limit(0) cuando el modo seguro esté desactivado.
Nota: si se llama a la función al comienzo del programa, el valor pasado a la función será el límite de tiempo para la ejecución del script. De lo contrario, si se llama a la función en medio del código, se ejecuta el script parcial y luego se aplica el límite de tiempo para el resto del script. - Use la función incorporada de PHP ini_set (opción, valor) donde los parámetros son la opción de configuración dada y el valor que se establecerá.
php
// The program is executed for 3mns. <?php ini_set('max_execution_time', 180); ?>
- Se usa cuando necesita anular el valor de configuración en tiempo de ejecución. Esta función se llama desde su propio código PHP y solo afectará al script que llama a esta función. Utilice init_set(‘max_execution_time’0) cuando desee establecer un tiempo de ejecución ilimitado para el script.
Nota: Utilice la función init_set() cuando el modo seguro esté desactivado.
php
<?php // Sets to unlimited period of time ini_set('max_execution_time', 0); ?>
- Nota: Esta función con ‘0’ como parámetro no es una buena práctica de programación, pero se puede utilizar para fines de desarrollo y prueba. Antes de que el código se mueva al modo en vivo o de producción, asegúrese de que la configuración esté revocada.
- Para permitir ejecutar el script para siempre e ignorar los abortos del usuario, configure la función incorporada de PHP ignore_user_abort (verdadero). De forma predeterminada, se establece en Falso, lo que arroja un error fatal cuando el cliente aborta para detener el script.
php
<?php ignore_user_abort(); ?>
- Use el comando php_value para cambiar la configuración en los archivos de configuración de Apache y los archivos .htaccess .
Sintaxis:
php_value name value
- Esto establece el valor para esa directiva en particular como se especifica.
php_value max_execution_time 200
- Uso de las opciones de configuración de cPanel para cambiar el tiempo de ejecución de un script. Esto se puede hacer en el panel de control de cPanel y se puede usar para establecer el límite de tiempo para el script PHP.
Publicación traducida automáticamente
Artículo escrito por geetanjali16 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA