Wäre eine Möglichkeit, sich über seine Maßnahmen gegen zu lang laufende Scripts zu erkundigen. Achte dabei auf den Unterschied zwischen der generellen Zeit und der effektiv vom Script verwendeten CPU-Zeit (also 5 Sekunden bei 50% CPU-Auslastung sind nach Milchmädchenrechnung 2,5 Sekunden CPU-Zeit).
Das Script läuft doch aber beim gestartetn Download nicht mehr oder? Also ist doch die Laufzeit so wie ich das sehe egal oder?
Antwort meines Webspaceanbieters:
"wenn der Webserver nach ca. 300 s dicht macht wäre das aber normal. Das ist eine allgemeine Einstellung auch bei vielen anderen Servern. Am besten Sie benutzen dafür das FTP Protokoll, indem Sie das im Downloadlink bereit stellen."
Komisch ist auch, das so der download startet:
readfile("http://".$_SERVER["HTTP_HOST"]."/".$pfad.$file);
Na, das willst du nicht, weil du damit einen Request an deinen eigenen Server stellst. Zudem sollte doch die Datei gar nicht einfach so per Request erreichbar sein. Warum liegt sie dann überhaupt innerhalb des DocumentRoots?
Weil ich noch kein Zeit hatte Sie nach außerhalb zu verlagern, wenn die Scripte nicht laufen hat das ja dann auch keinen Zweck ;)
Dann müsste es eigentlich eine Fehlermeldung zu lesen geben. Den Erfolg kannst du auch am Rückgabewert der Funktion erkennen. Sieh ihn dir mit var_dump() an, ein einfaches echo reicht nicht, weil damit ein false unsichtbar ist.
Komischerweise funktioniert es jetzt mit DOCUMENT_ROOT aber, auch da gehn nur kleine Dateien die großen brechen immer wieder ab.
Gibt es nicht noch eine Möglichkeit zu unterbinden das die Links direkt eingebunden werden können?
Eventuelle Lösung:
Den Ordnernamen in dem die Files liegen, alle 24 Stunden ändern lassen. Wäre nur doof wenn der Ordner um 24 Uhr geändert wird und jemand um 23:59
Uhr nen Link anfordert der dann in 1 min abgelaufen ist.