Download mit PHP bricht ab
vor 13 Jahren
Moin zusammen,
ich versuche gerade einen Download mittels PHP-Skript zu realisieren. Das Skript ist ganz einfach und sieht folgendermaßen aus:
Die Datei, die heruntergeladen werden soll, wird in der Variable $file angegeben, es handelt sich um eine ca. 35MB große ZIP-Datei, die bei mir auf dem Webspace liegt. Der Download bricht allerdings immer nach ca. 24-26 MB oder 100-120 Sek. ab. Das Skript wird einfach beendet, danach sind die 24-26MB auf der Festplatte, aber die Datei kann natürlich nicht geöffnet werden. Eine Fehlermeldung, bspw. in der cgi_error.log, gibt es nicht.
Ich habe etwas herumprobiert, mit kleineren Dateien funktioniert dieses Skript ohne Probleme. Es funktioniert auch, wenn ich die angegebene Datei in 10MB-Blöcke aufteile und diese im Skript nacheinander zurückgebe. Die Blöcke haben bei mir die Dateiendung .001 bis .004:
readfile($file.'.001');
readfile($file.'.002');
readfile($file.'.003');
readfile($file.'.004');
Dann wird die Datei komplett heruntergeladen und kann auch geöffnet werden. Das heißt, an der Laufzeit des Skripts selber kann es nicht liegen. Weitere Tests haben ergeben, dass andere Skripte generell problemlos 2 - 3 Minuten laufen.
Ich habe daraufhin etwas mit den Einstellungen in der php.ini bezüglich der maximalen Skriptlaufzeit experimentiert und dabei festgestellt, dass diese überhaupt keine Auswirkung auf die PHP-Skripte zu haben scheinen. Die Skripte laufen immer mit ihrer normalen Laufzeit bzw. bis zum Ende durch (bis auf den oben angegebenen Download). Ich habe verschiedenes ausprobiert:
- "max_execution_time" von 1 (1 Sek.) bis 300 (300 Sek.) in der php.ini angegeben - keine Auswirkung
- im PHP-Skript die Laufzeit mit "set_time_limit()" verändert - keine Auswirkung
Die php.ini selbst wird definiv gelesen und verarbeitet, das sieht man an anderen Einstellungen in dieser Datei, die wie erwartet funktionieren.
Es handelt sich hier evtl. um zwei unterschiedliche Probleme - der Abbruch in dem Download-Skript und die Laufzeiteinstellungen, die keine Auswirkung haben (wobei das letztere für mich momentan weniger ein Problem darstellt). Was könnte da los sein?
Danke und Gruß
Christian
ich versuche gerade einen Download mittels PHP-Skript zu realisieren. Das Skript ist ganz einfach und sieht folgendermaßen aus:
Die Datei, die heruntergeladen werden soll, wird in der Variable $file angegeben, es handelt sich um eine ca. 35MB große ZIP-Datei, die bei mir auf dem Webspace liegt. Der Download bricht allerdings immer nach ca. 24-26 MB oder 100-120 Sek. ab. Das Skript wird einfach beendet, danach sind die 24-26MB auf der Festplatte, aber die Datei kann natürlich nicht geöffnet werden. Eine Fehlermeldung, bspw. in der cgi_error.log, gibt es nicht.
Ich habe etwas herumprobiert, mit kleineren Dateien funktioniert dieses Skript ohne Probleme. Es funktioniert auch, wenn ich die angegebene Datei in 10MB-Blöcke aufteile und diese im Skript nacheinander zurückgebe. Die Blöcke haben bei mir die Dateiendung .001 bis .004:
readfile($file.'.001');
readfile($file.'.002');
readfile($file.'.003');
readfile($file.'.004');
Dann wird die Datei komplett heruntergeladen und kann auch geöffnet werden. Das heißt, an der Laufzeit des Skripts selber kann es nicht liegen. Weitere Tests haben ergeben, dass andere Skripte generell problemlos 2 - 3 Minuten laufen.
Ich habe daraufhin etwas mit den Einstellungen in der php.ini bezüglich der maximalen Skriptlaufzeit experimentiert und dabei festgestellt, dass diese überhaupt keine Auswirkung auf die PHP-Skripte zu haben scheinen. Die Skripte laufen immer mit ihrer normalen Laufzeit bzw. bis zum Ende durch (bis auf den oben angegebenen Download). Ich habe verschiedenes ausprobiert:
- "max_execution_time" von 1 (1 Sek.) bis 300 (300 Sek.) in der php.ini angegeben - keine Auswirkung
- im PHP-Skript die Laufzeit mit "set_time_limit()" verändert - keine Auswirkung
Die php.ini selbst wird definiv gelesen und verarbeitet, das sieht man an anderen Einstellungen in dieser Datei, die wie erwartet funktionieren.
Es handelt sich hier evtl. um zwei unterschiedliche Probleme - der Abbruch in dem Download-Skript und die Laufzeiteinstellungen, die keine Auswirkung haben (wobei das letztere für mich momentan weniger ein Problem darstellt). Was könnte da los sein?
Danke und Gruß
Christian
Hinweis:
Dieser Beitrag wurde geschlossen.
Hinweis:
Dieser Beitrag ist nicht mehr für Antworten oder Kommentare geöffnet und ist nicht mehr für die Mitglieder der Community sichtbar.
1275
0
0
Das könnte Ihnen auch weiterhelfen
vor 4 Jahren
1984
0
3
vor 2 Jahren
984
0
12
vor 6 Jahren
471
0
3
Beliebte Tags letzte 7 Tage
Das könnte Sie auch interessieren
Kaufberatung anfragen
Füllen Sie schnell und unkompliziert unser Online-Kontaktformular aus, damit wir sie zeitnah persönlich beraten können.

Angebote anzeigen
Informieren Sie sich über unsere aktuellen Website-Angebote.

vor 13 Jahren
gibt es eine Antwort von der Technik? Warum bricht der Download ab, und kann das Problem behoben werden?
Schönes Wochenende
Christian
0
0
vor 13 Jahren
eine wirkliche Lösung haben wir nicht. wir sehen noch eine Möglichkeit das memory_limit zu erhöhen. Es scheint ja mit der Größe der Datei zusammen zu hängen.
0
0