Neu: set_time_limit darf seit der 6.0 nicht mehr aufgerufen werden. Einige PHP-Module und Skript müssen angepasst werden, sodass diese die Funktion nur auf Versionen kleiner 6.0 aufgerufen wird.
Du kannst die Funktion bedenkenlos einfach rausnehmen. Wir haben das time limit zur 6.0 komplett deaktiviert, sodass es keine Probleme machen sollte (normalerweise wollten Skripte das Limit anheben)
Kann ich denn stattdessen irgendwo meine execution_time einstellen? Ich habe einige Skripte, die laufen gewollt über 60s. Diese brechen nun regelmäßig ab und bringen mein System in einen undefinierten Zustand.
Warum genau wird diese Funktion denn eigentlich blockiert bzw. was sind hier die Sicherheitsrisiken?
Ich kann mir nur vorstellen dass du irgendwie die Zeit auf 60 Sekunden gestellt hast. D.h. Irgendwie muss es noch eine Lücke geben. Wir setzen die Zeit hart auf 0. Also auf kein Limit.
Ich habe die Stelle auch tatsächlich gefunden, wo ich den Wert bei mir wohl lokal anpasse . Dies ist ein include, welche ich vor jeder Skriptausführung lade, damit meine php-Struktur entsprechend erkannt wird.
D.h. wiederum, dass ich mit init_set() die blockierte Funktion überschreiben kann.
Stimmt. Das ist leider noch eine Lücke unter Windows die wir aufgrund der Distribution von PHP nicht lösen können. Unter Linux ist ini_set für den Parameter auch gesperrt.
Ich empfehle das ini_set zu entfernen wenn du keinen sporadischen, unerklärlichen Abstürze haben möchtest.