Seite wird nicht lange genug ausgeführt?!

Mammuth

Mitglied
Hallo an Alle,

ich hab folgendes Problem. Ich habe ein Script geschrieben, das eine bestimmte Internet-Seite ließt und dann den Inhalt auswertet.

Die Seite lese ich mit file(). Das geht so lange gut, bis zu viele User auf der Seite sind, sodass der Server von der Seite, die ich einlesen möchte, zu langsam wird. Das Script wird dann nach etwa 20 Sek. nicht mehr augeführt. Bei Firefox bleibt es dann weiß und beim IE sagt er mit, dass die Seite nicht angezeigt werden kann.

Liegt es an der max_execution_time? Die hab ich aber schon mit set_ini() hochgesetzt, aber trotzdem hab ich dieses Problem.

Ich hoffe, ihr könnt mir weiterhelfen.
 
Das dürfte schon an der max_execution_time in der php.ini liegen.
Müsste die Funktion zum ändern nicht ini_set() oder ini_alter() heissen?
Du kannst die ini-Einträge aber natürlich nur dan editieren, wenn SAFE_MODE ausgeschaltet ist.
 
Du hast schon Recht, es heißt ini_set(). Ich glaube ich weiß jetzt woran es liegt. Die max_execution_time hab ich sogar auf 300 gesetzt, trotzdem ist immer nach 20 Sek. schluss.

Es liegt hier dran: Wenn ich phpinfo() ausgebe, steht unter Local Value 300 (bei max_execution_time). Bei Master Value jedoch immer noch 20. In beiden Fällen ist der SAFE_MODE ausgeschaltet.

Frage: Wie kann ich das auch beim Master Value ändern?
Oder: Warum macht er trotzdem schon nach 20 Sek. schluss, obwohl ich es doch Local auf 300 gesetzt hab?
 
Zuletzt bearbeitet:
Vielleicht solltest Du lieber mal darüber nachdenken, wie "gut" dein Script ist. Wenn es schon durch ein paar User den Server so in die Knie zwingt, wird die Erhöhung des max_ecec_time-Limits nur kurz für eine Verbesserung sorgen.
 
Das liegt nicht an meinem Script. Ich lese eine exteren Internetseite aus (z. B. amazon.de).
Diese wertet das Script dann aus. Das Problem ist, dass der Server der externen Internetseite oft überlastet ist, deshalb brauch das Script auch so lange (zu lange), um die Seite einzulesen, bevor das Problem mit der max_execution_time auftritt.
 
dann solltest du vielleicht mit fsockopen() überprüfen, ob der Server in einer Zeit X reagiert und erst dann anfangen auszulesen. Anderenfalls kannst Du ja eine Fehlermeldung ausgeben, dass der Server z ZT nicht erreichbar ist.
 
Zurück