Lo más probable es que su host ejecute una copia de PHP con el parche Suhoshin instalado. Este parche proporciona una gran cantidad de mejoras operacionales y de seguridad para PHP, lo que incluye permitir que el host deshabilite funciones como set_time_limit()
.
Hay otras maneras en que un host puede deshabilitar la función set_time_limit()
, pero eso es lo más probable. (especialmente porque ya ha descartado el modo seguro)
¿Por qué deshabilitarían esta función? Debido a que una función PHP que tarda mucho tiempo en ejecutarse también suele requerir muchos recursos del servidor; en un entorno de alojamiento compartido, es aconsejable que el anfitrión mitigue este tipo de cosas para evitar que un script fraudulento afecte a otros usuarios.
¿Qué puedes hacer al respecto?
En primer lugar, ¿está seguro de que necesita establecer el límite de tiempo? ¿Sabes por qué tu script tarda tanto tiempo en ejecutarse? ¿Puedes evitarlo? Quizás hacer un poco de perfil en su código podría ayudarlo a encontrar los cuellos de botella y acelerar el programa.
Como alternativa, si realmente necesita establecer el límite de tiempo, es posible que deba solicitarle a su host que lo habilite, o bien actualizar su paquete o cambiar de proveedor de alojamiento.
¿Su servidor invalida su anulación ?, si coloca 'set_time_limit (0)' dentro del ciclo, restablecerá el tiempo a 0 en cada iteración. –
@LawrenceCherone ¿estás seguro? –
Solo para dejarme saber que este 'set_time_limit (XX)' resolvió mi problema. Quizás diferentes hosts tengan diferentes reglas/configuraciones. El 'php_value max_execution_time XX' no funcionó. – nobug