Molto probabilmente, l'host esegue una copia di PHP con la patch Suhoshin installata. Questa patch fornisce un gran numero di miglioramenti operativi e di sicurezza a PHP, incluso consentire all'host di disabilitare funzioni come set_time_limit()
.
Esistono altri modi in cui un host può disabilitare la funzione set_time_limit()
, ma questa è la più probabile. (soprattutto perché hai già escluso la modalità provvisoria)
Perché disabilitare questa funzione? Poiché una funzione PHP richiede molto tempo per l'esecuzione, in genere richiede molte risorse del server; in un ambiente di hosting condiviso, è saggio per l'host mitigare questo tipo di cose per evitare che uno script canaglia abbia un impatto sugli altri utenti.
Cosa si può fare a riguardo?
In primo luogo, sei sicuro di aver bisogno di impostare il limite di tempo? Sai perché il tuo script impiega tanto tempo per essere eseguito? Puoi lavorare intorno ad esso? Forse fare un po 'di profilazione sul tuo codice potrebbe aiutarti a trovare i colli di bottiglia e ad accelerare il programma.
In alternativa, se è davvero necessario impostare il limite di tempo, potrebbe essere necessario chiedere all'host di abilitare l'utente a farlo, oppure aggiornare il pacchetto o cambiare provider di hosting.
L'host sovrascrive l'override ?, se si posiziona 'set_time_limit (0)' all'interno del ciclo, verrà reimpostato il tempo su 0 su ciascuna iterazione. –
@LawrenceCherone sei sicuro? –
Giusto per far sapere che questo 'set_time_limit (XX)' ha risolto il mio problema. Forse diversi host hanno regole/configurazioni diverse. Il 'php_value max_execution_time XX' non ha funzionato. – nobug