Poner un límite de tiempo a los scripts en PHP

1 COMENTARIO -  Publicado hace 6 meses -  Clasificado en: , ,

La función set_time_limit puede resultar de gran utilidad para evitar bucles infinitos y conexiones muy prolongadas con la base de datos. set_time_limit pone un límite de tiempo en el máximo número de segundos que un script puede tardar en ejecutarse. Después de ese período de tiempo, un error fatal es lanzado. El límite predeterminado es 30 segundos o, si existe, el valor max_execution_time definido en php.ini. Si el límite en segundos se establece a cero, no se impone límite alguno.

Cuando es llamada, la función set_time_limit() restablece el contador de tiempo de espera desde cero.

Ejemplo:

<?php
set_time_limit(2);
?>

Si estamos usando Apache, también podemos cambiar el tiempo máximo de ejecución con .htaccesss añadiendo una línea similar a ésta:

php_value max_execution_time 200

Para averiguar el tiempo límite fijado puedes utilizar:

<?php
echo ini_get('max_execution_time');
?>

Algunas entradas relacionadas:

También te puede interesar:

COMENTARIOS

Publicado hace 6 meses
Zerial -   http://blog.zerial.org

Esto es muy útil cuando tenemos problemas con algún loop o bucle, algun for o while interminable. Evitamos que el servidor esté cargando ese bucle por mucho tiempo y al cabo de X segundos, el proceso de cancela. O cuando tenemos una consulta SQL "interminable", algun join mal hecho o consulta a la base de datos con muchos datos.
Es una forma de proteger la carga del servidor.

saludos
Haz un comentario

¡Gracias por dejar tu opinión! Por favor procura que tu comentarios sean apropiados respecto al tema tratado en la entrada; que no sean spam, u ofensivos, de otro modo, serán eliminados. Todos los comentarios serán moderados antes de su publicación por lo que su aparición en la web puede verse aplazada un cierto tiempo. Si deseas realizar algún comentario, crítica o sugerencia sobre la propia web puedes hacer a través de la siguiente dirección de correo: webintenta@webintenta.com