Dateigrößenlimit im Download-Mod?

Enthält archivierte Beiträge von Hotschi's Board zum Download MOD.
Posten ist hier nicht möglich, bitte das Supportforum dafür verwenden!
Gesperrt
moOonk

Dateigrößenlimit im Download-Mod?

Beitrag von moOonk »

Ich habe den Download-Mod ( v4.3.8 ) in meinen Forum eingebaut und er funktioniert soweit (fast) tadellos. Ich habe jedoch ein Problem mit sehr großen Dateien (z.B. 1 GB), welche zwar ohne Fehlermeldung heruntergeladen werden können, aber anschließend trotzdem fehlerhaft sind (Checksummenfehler – die Dateigröße ist aber mit der Originaldatei identisch) :?

Mir ist durchaus bewusst, dass der Download-Mod vermutlich für solche Zwecke gar nicht konzipiert wurde, aber vielleicht hat jemand trotzdem eine Lösung für dieses Problem. :wink:
oxpus

Beitrag von oxpus »

Wählt die Download-Methode in der Konfiguration aus.
Versuche es mit der neuen und alten Methode.
Bei der neuen Methode kannst Du auch angeben, ab welcher Dateigrösse die Files in Stücken ausgelesen werden sollen.
Eine der Methoden wird dabei schon funktionieren.
moOonk

neuen und alten Methode

Beitrag von moOonk »

oxpus hat geschrieben:Wählt die Download-Methode in der Konfiguration aus.
Versuche es mit der neuen und alten Methode.
Das habe ich bereits ausprobiert. Mit der neuen Methode werden die Downloads ( bei ca 300MB ) sogar vorzeitig abgebrochen. Nur mit der alten Methode wird der Download komplettiert :roll:

Ich habe jetzt allerdings die load.php etwas modifiziert (nachdem ich alles mögliche ausprobiert hatte) und jetzt werden die Dateien fehlerfrei übertragfen:

Code: Alles auswählen

#
# Öffne /load.php
#
# Finde
#

	if ($board_config['dl_method'] == 1)
		{
		header("Content-Type: application/octet-stream");
		header("Content-Disposition: attachment; filename="$file_name"");
		readfile($dl_file);
		}

#
# Ersetze mit
#

	if ($board_config['dl_method'] == 1)
		{
		header("Location: ".$dl_file);
		}
Das klappt soweit ganz gut, nur das dabei z.B. Textdateien direkt im Browser geöffnet werden.
oxpus

Beitrag von oxpus »

Das ist ja auch nur für externe Links so gedacht und erzeugt einen direkten Zugang zu den Dateien.
Nicht empfehlenswert, da man ja seine Dateien eigentlich schützen will.

Aber wenn es für Dich funktioniert, ist mir das auch recht...
moOonk

...nicht empfehlenswert

Beitrag von moOonk »

Ja, es wird dabei vermutlich der Pfad der Datei verraten und dadurch auch eine Traffic-Überwachung ausgehebelt. Da aber Traffic in meinen Fall nicht von Bedeutung ist, sollte dieser Nebeneffekt nicht stören.

Schon wäre es natürlich, wenn ich die eigentliche Ursache für dieses Problem finden würde. Irgendwie weiss ich aber nicht, wo ich noch suchen soll. :?
oxpus

Beitrag von oxpus »

Es gibt eigentlich kein Problem, da es von der WEbumgebung abhängt, wie groß die zu behandelnden Dateien seien dürfen.
Und 1GB grosse Dateien sind schon verflucht riesig...
moOonk

Webumgebung

Beitrag von moOonk »

oxpus hat geschrieben:von der WEbumgebung abhängt
Es handelt sich im meinen Fall um ein lokales Netzwerk, als Server habe ich ein Linux (Debian) als auch ein Windows-System (W2K) getestet - beide haben aber die gleichen Probleme mit den großen Dateien bereitet.

Sind irgendwelche bestimmen Einstellungen (Apache/PHP) bekannt, die solche Fehlfunktionen verursachen könnten?
oxpus

Beitrag von oxpus »

Nochmal:
Das sind keine Fehlfunktionen!
Der Webserver kann nur bestimmte Dateigrössen behandeln und auch PHP selber macht ab einer gewissen Grösse dicht.
Es ist auch nie vorgesehen, Dateien mit 1 GB herunterzuladen, ohne direkten Zugriff auf diese Datei zu gewähren.
Daher ist es eben keine Fehlfunktion, sondern Einstellungssache, bzw. Konfiguration der Webumgebung.
Auch auf dem lokalen Rechner!
moOonk

Falsche Wort

Beitrag von moOonk »

Fehlfunktion ist vielleicht das falsche Wort gewesen, aber wenn eine Aufgabe ohne jegliche Fehlermeldung abgearbeitet wurde, dann sollte man doch zunächst nicht von irgendwelchen Problemen (Beschränkungen) ausgehen.

Ich stimme zu, dass PHP mit derart gigantischen Dateien ins stottern geraten kann. Aber wurden die Script-TimeOut Fehler in der phpBB-Datenbank-Backup-Funktion nicht auch durch geschickte Tricks in der Programmierung umgangen (Beispiel: MySqlDumper) ?
oxpus hat geschrieben:Daher ist es eben keine Fehlfunktion, sondern Einstellungssache, bzw. Konfiguration der Webumgebung.
Auch auf dem lokalen Rechner!
Genau das habe ich doch zuvor gefragt:
moOonk hat geschrieben:Sind irgendwelche bestimmen Einstellungen (Apache/PHP) bekannt, die solche Fehlfunktionen verursachen könnten?
:!: Streiche "Fehlfunktionen" und ersetze mit "Übertragungsfehler"

Daher hier nochmals eine etwas anders formulierte Frage:
Ist es möglich durch irgendwelche Programmiertricks oder Veränderungen an den Konfigurationsdateien (Apache/PHP) diese Dateigrößenbeschränkung zu überlisten?
oxpus

Beitrag von oxpus »

Kurz: Nein!

MySQLDumper arbeitet hier auch anders:
Dieses Tool ruft sich nach X Sekunden selber neu auf, um einen Timeout beim Backup zu umgehen, und nicht, um einen Download-Abbruch zu verhindern, denn das Backupfile wird ja auf dem Server gespeichert!
Das sind zwei völlig unterschiedliche Paar Schuhe!

Timeout könnte eine Ursache sein, dann wäre dieses in der php.ini und ggf. auch im Webserver zu ändern.
Aber ob das alleine schon reicht, ist fraglich.
Kevin

Beitrag von Kevin »

Hallo erstmal! :D

Bei mir brach der Download auch jedesmal bei ca. 90 MB ab. Mit der Meldung:
Firefox hat geschrieben:Die Datei konnte nicht gespeichert werden, weil die Quelldatei nicht gelesen werden konnte.
Kleinere Dateien wurden ohne Probleme heruntergeladen.

Dann hab ich mir nochmal die Settings in der php.ini angeschaut:

Code: Alles auswählen

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 300     ; Maximum execution time of each script, in seconds
Der Fehler ist nicht in der Dateigröße zu suchen, sondern in der Zeit.
Ein weiterer Test, diesmal die Zeit gestoppt - nach genau 5 Minuten blieb der Download stehen. 300 Sekunden = 5 Minuten
Also muß man den Wert 300 bei max_execution_time erhöhen.
Dann gibt es keine Probleme mehr.

Dachte ich - für Nutzer des IIS:
Bei mir brach der Download aber immer noch nach genau 5 Minuten ab.
Verantwortlich dafür ist die Einstellung CGI Timeout
Den Wert im IIS hochzusetzen ist ein bisschen Gepopel.
Ein sehr gutes Tutorial, wie man den CGI Timeout im IIS 5 und 6 (da gibt es Unterschiede) hochsetzen kann, findet man hier:
How To Configure the CGI Script Timeout Value in IIS 5.0 and IIS 6.0

Im IIS 6 gibt es eine sehr elegante Möglichkeit das Timeout nur für die load.php zu erhöhen. Damit sind dann auch keine anderen Dateien von dem neuen Wert betroffen.
Funktioniert traumhaft - auch mit der "neuen Download Methode". Hab gerade eine 700MB Testdatei problemlos gesogen.

Und OT: bin sehr angetan von der Weiterentwicklung dieses Mods, hatte bis vor kurzem noch die Version 2.1.2 eingesetzt. War völlig erschlagen von den ganzen neuen Features - sehr schön! :D

Gruß

Kevin
oxpus

Beitrag von oxpus »

Und OT: bin sehr angetan von der Weiterentwicklung dieses Mods, hatte bis vor kurzem noch die Version 2.1.2 eingesetzt. War völlig erschlagen von den ganzen neuen Features - sehr schön!
Das warte mal auf die 5er Version, die demnächst rauskommt ;)

Aber schön, wenn jemand auch noch andere Ursachen für nicht herunterladbare Dateien findet.
Was aber auch nicht immer per PHP-Script steuerbar ist, da nicht jeder Provider (wenn man einen Webspace anstatt einem Server besitzt) mitmacht und daher wird es keine Anpssung hierauf geben.
Und mal ehrlich: In der Regel lädt man ja auch keine 700 MB Files herunter, oder??? ;)
Kevin

Beitrag von Kevin »

Nene - nicht falsch verstehen - am Mod sollte da garnix verändert werden. Von der Seite funktioniert ja auch alles reibungslos.
Das ware nur als Info an Serverbesitzer gedacht, die auch mit so riesigen Dateien umgehen wollen.
Für mich, mit IIS 6, ist die Sache ja auch elegant gelöst - das Timeout für die load.php auf drei Stunden gesetzt, alle anderen Dateien fahren weiter mit dem Default Timeout. Das ist schon ganz angenehm, wenn man nicht allen Scripten übertrieben Zeit einräumen muß.
Und gelernt hab ich auch wieder was. Nämlich das die max_execution_time in der php.ini unter IIS 6 völlig Banane ist. Wird eh von der CGI Timeout des IIS überschrieben.
oxpus hat geschrieben:Und mal ehrlich: In der Regel lädt man ja auch keine 700 MB Files herunter, oder??? ;)
Jap, vor allem keine Shared-Webspace Kunden. :wink:
oxpus hat geschrieben:Das warte mal auf die 5er Version, die demnächst rauskommt
Fein - bin sehr gespannt. Hatte den Mod schon für tot erklärt, da kann man mal sehen wie man sich irren kann. ;)
Super Arbeit, die ihr hier macht!

Gruß

Kevin
oxpus

Beitrag von oxpus »

Naja, zwischen der 2er und 4er liegen Welten und Zeiten, die nicht normal sind.
Aber nun ja, irgendwann nimmt man sich dann mal ein Herz und fängt halt an...
Kevin

Beitrag von Kevin »

Das ist allerdings wahr. Aber die Mühe hat sich offensichtlich gelohnt.
Wieso hast Du den Mod eigentlich nicht auf phpbb.de veröffentlicht?
Soll ich den mal eintragen?

Gruß

Kevin
oxpus

Beitrag von oxpus »

Nein, eintragen werden wir den schon selber. Aber dann auch mit der 5er Version.
Warum die 4er bislang nicht genommen wurde, wissen wir nicht...
Kevin

Beitrag von Kevin »

Ach - ihr hattet die 4'er schon angemeldet? Eigenartig, wieso nehmen die den nicht in die ModDB?
Wenn man nicht speziell nach diesem Mod sucht, findet man den nicht so einfach.
Da würde ich nochmal bei den phpBB.de Jungs nachhaken - die Modbeschreibung und die Downloadadresse kann man ja später auch noch editieren, sobald die 5 raus ist.
Gesperrt