Code optimieren

Nein. Ist nicht aktiviert. Danke habe jetzt mal set_time_limit(0) eingebunden. Dann müsste es ja jetzt laufen. Starte das Skript jetz mal und wenn es nach 20 Minuten nicht beendet wird schliesse ich das Thema.

Im Vorraus schonmal vielen Dank für eure Hilfe.
 
Dennis Wronka hat gesagt.:
Auch wenn man mit
PHP:
header("Location:irgendwas.php");
arbeitet wird ein neuer Request geschickt.
Der Header geht ja erst an den Browser und dieser fragt dann nach irgendwas.php.
Das dachte ich eigentlich auch, aber warum gibt es dann einen Timeout?
 
Sehr gute Frage.
Aber es ist auf jeden Fall so, dass erneut beim Server nachgefragt wird.
header() uebergibt ja nur die Location, ob das nun das gleiche Script ist oder nicht ist der Funktion egal. Es kann ja auch ein ganz anderer Server sein.

Ich hab mich vor kurzem erst ausfuehrlich mit HTTP beschaeftigt und bei Trafficanalysen gesehen, dass bei Header vom Server eine Antwort mit Response-Code 302 kommt und der Location die zu befragen ist.

Warum das nun zum TimeOut fuehrt ist fraglich.
Wenn ich die Zeit finde werd ich mal ein wenig rumprobieren. Muss nur irgendwie eine Moeglichkeit finden 30 Sekunden zu "verschwenden", denn sleep() zaehlt soweit ich mich erinnere nicht. ;)
 
Ich hab grad mal meinen Benchmark etwas modifiziert, sodass der ca. 12 Sekunden dauert. Diesen hab ich dann per header() 5 mal hintereinander ausfuehren lassen.
Macht eine Gesamtzeit von ca. 60 Sekunden. Meine Max_Execution_Time steht bei 30 Sekunden.

Jetzt hab ich aber auch folgendes auf php.net gefunden.
Note: The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running.
Hier der Link zum Text.
 
split hat gesagt.:
Naja, dann kann ich auch nicht mit header() arbeiten. Darum geht's ja im Grunde grad.
Und ich kann auch nicht endlos header() aufs selbe Script machen, denn zumindest der Mozilla hat ein Redirection-Limit und solche Endlosschleifen zu vermeiden.
Der hoert nach ca. 7 Redirects auf.
 
Hmm, dann musst du vielleicht in der Endlosschleife eine Zeitabfrage einbauen, dass immer so nach 20 Sekunden ein header("Location ..") ausgeführt wird.

Greift denn das Redirection-Limit nur bei siebenmaligen Request an die selbe Seite (inkl. Parameter) oder gilt das allgemein?
 
Wenn ich mich recht erinnere greift das auch wenn man zwischen 2 Seiten hin und her springt.
Ich koennte mir auch vorstellen, dass auch greift wenn man 10 mal hinter einander zu verschiedenen Seiten springt.
 
Zurück