ini_set, set_time_limit et max_execution_time : pourquoi ils peuvent ne pas fonctionner
De nombreux développeurs rencontrent des problèmes lorsqu'ils tentent de modifier le temps d'exécution maximum pour PHP des scripts utilisant des fonctions comme ini_set() ou set_time_limit(). Malgré la définition locale de la limite de temps souhaitée, ils observent que la valeur par défaut de 30 reste inchangée sur les serveurs distants.
Cause fondamentale : restrictions du mode sans échec
Le runtime du manuel PHP La section de configuration pour max_execution_time met en lumière ce comportement. Il explique que la modification de ce paramètre via ini_set() est interdite en mode sans échec. Pour contourner cette limitation, désactivez le mode sans échec ou modifiez manuellement la limite de temps dans le fichier de configuration php.ini.
S'applique également à set_time_limit()
C'est important à noter que la même restriction s'applique à la fonction set_time_limit(), selon sa documentation. Lorsque le mode sans échec est actif, aucune des deux fonctions ne peut outrepasser le délai par défaut.
Conclusion
Pour résumer, le mode sans échec sur les serveurs distants empêche les modifications au délai d’exécution. Désactivez le mode sans échec ou modifiez manuellement le fichier de configuration php.ini pour résoudre ce problème.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!