Mal wieder "Allowed memory size of..."

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Mal wieder "Allowed memory size of..."

Beitrag von Dungeonwatcher »

Hi! :cool:

So ganz aus heiterem Himmel taucht dieses Phänomen wieder beim DL Mod auf. Es betrifft nur eine einzige Datei.

Code: Alles auswählen

PHP Fatal error:  Allowed memory size of 52428800 bytes exhausted (tried to allocate 1048577 bytes) in ...\Forum\dl_mod\classes\class_dlmod.php on line 1467
Diese Datei ist knapp 45MB groß (44.852.566 bytes) und mit ZIP gepackt. Die bemängelten 1048577 bytes entsprechen genau 1byte mehr als die Größenangabe für $chunksize:

Code: Alles auswählen

	function readfile_chunked($filename, $retbytes = true)
	{
		$chunksize = 1048576;
		$buffer = '';
		$cnt =0;
		$handle = fopen($filename, 'rb');

		if ($handle === false)
		{
			return false;
		}

		while (!feof($handle))
		{
			$buffer = fread($handle, $chunksize);
			echo $buffer;
			if ($retbytes)
			{
				$cnt += strlen($buffer);
			}
		}
Die betroffene Zeile ist diese:

Code: Alles auswählen

$buffer = fread($handle, $chunksize);
Im Browser wird diese Meldung angezeigt:
Die Datei http://.../forum/downloads.php?view=load&df_id=227&modcp=0&cat_id=20 konnte nicht gefunden werden. Bitte überprüfen Sie die Adresse und versuchen Sie es nochmals.
Der Apache schreibt einen Fehler 500 in sein Log:
"POST /forum/downloads.php?view=load&df_id=227&modcp=0&cat_id=20 HTTP/1.1" 500 44040192 "http://.../forum/downloads.php?view=detail&df_id=227"
Die DL Methode ist seit Urzeiten auf Neu und Direkt eingestellt. Ändere ich dies auf ein anderes Verfahren wird die Datei gefunden und heruntergeladen, ist aber defekt. Auch alle anderen Dateien, welche teilweise über 1GB groß sind, lassen sich problemlos herunterladen. Ändere ich die Größe dieser Datei durch entfernen oder hinzufügen von Inhalt, wird sie ebenfalls klaglos heruntergeladen.

Was in Computer Gottes Namen geht hier vor? ^6

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von oxpus »

Verändere die Grösse für die Chucked File Size. Meist reicht das schon aus.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von Dungeonwatcher »

Hi! :cool:
oxpus hat geschrieben:Verändere die Grösse für die Chucked File Size. Meist reicht das schon aus.
Nee, das tut's leider nicht. In den letzten Tagen habe ich dutzende Werte erfolglos getestet. ?4

Woran könnte es noch liegen? Evtl. an einer Einstellung bei Apache/PHP?

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von oxpus »

Nun ja, der PHP-Speicher ist bei dir auf 50 MB eingestellt. 45 MB Dateidownload und dann noch 5 MB Forumdaten... Das kann schon passen.
Wenn du solch grosse Dateien hostest, solltest du sicher mal den PHP-Speicher deutlich erhöhen. Und mit deutlich meine ich in den 3stelligen Bereich.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von Dungeonwatcher »

Moin, moin großer Meister! :cool:

Hmmm, das teste ich nachher. Nur warum können aber Dateien bis über 1,5GB problemlos runtergeladen werden?

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von oxpus »

Ich kenne deinen Webserver und die Einstellungen dazu und zu PHP nicht, daher kann ich das auch nicht beantworten...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von Dungeonwatcher »

Hi! :cool:

So langsam werde ich wirklich sauer über PHP, Apache, Co. und auch den DL Mod. Bitte nicht falsch verstehen, aber egal an welcher Schraube ich drehe, das Problem tritt immer wieder auf. ^6

Nachdem ich nun auch memory_limit auf 500MB gesetzt habe werden andere Dateien nicht mehr runtergeladen sondern der Speicher geht wieder aus. D.h. egal was ich dort als Wert angebe bei irgendeiner Datei geht der Speicher reproduzierbar aus. Es ist immer eine Datei, welche unwesentlich größer als der eingestellte Wert bei memory_limit ist.

Wenn ich diese Zeile auskommentiere:

Code: Alles auswählen

echo $buffer;
ist dieses Verhalten bei der betroffenen Datei weg und der DL funktioniert. Wirklich wichtig scheint sie also nicht zu sein. Ich habe den Wert für memory_limit jetzt mal wieder auf Standard (16MB) gesetzt und beobachte das ganze mal.

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von oxpus »

Es kommt auch darauf an, ob du Gzip ein- oder ausgeschaltet hast.
Am wenigsten Probleme bereitet die MOD bei deaktiviertem GZip.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von Dungeonwatcher »

Hi! :cool:
oxpus hat geschrieben:Es kommt auch darauf an, ob du Gzip ein- oder ausgeschaltet hast.
Am wenigsten Probleme bereitet die MOD bei deaktiviertem GZip.
Hmmmm, gzip habe aktiviert.
Was bewirkt eigentlich die von mir auskommentierte Zeile? Bei einem echo wird doch eigentlich die entsprechende Variable auf dem Bildschirm angezeigt, oder liege ich da kplt. falsch?

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von oxpus »

Ein echo erfolgt immer in dem gerade aktive Ausgabekanal.
Ist nichts definiert, gelangt das echo direkt zum Browser des Users.
Aber es könnte auch eine Datei sein, ein Kompressionskanal (GZIP eben) oder was auch immer...
Und jeder "Kanal" hat seine maximale Kapazität. Daher könnte das aktivierte GZip hier schon gewaltig stören.

BTW:
Ein aktiviertes GZip bringt nur etwas, wenn die Website sehr umfangreich ist. Bei Texten dabei mehr als bei Mediadateien wie Bilder, Musik oder Videos.
Nur wer schreibt schon soooo lange Texte, dass GZip Sinn macht?
Denn was macht GZip hierbei eigentlich?
Es packt den Inhalt des an den User zu übertragenden Datenstrom zusammen und verkürzt damit lediglich die Ladezeit der Seite. Genauer: Die Zeit, die der reine Download der Seite braucht. Und in Zeiten von UMTS/DSL ist GZip daher weniger interessant geworden.
Dafür muss der ausliefernde Server die Daten aber erst einmal packen, was Zeit kostet, und der Browser des Users die Seite wieder entpacken. Das kostet dann noch einmal Zeit.
Bei normal großen Websites bringt GZip also überhaupt nicht, im Gegenteil: Es kann den Seitenaufbau sogar verzögern und an der ein oder anderen Stelle zu Fehler führen, wie vermutlich auch eben bei deinen "Megadownloads".
Daher GZip mal ausschalten, die echo-Zeile wieder einfügen und neu testen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Dungeonwatcher
Beiträge: 1055
Registriert: Sa 19.Feb, 2005 01:16
Wohnort: Berlin
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von Dungeonwatcher »

Hi! :cool:

Danke für diese Erklärung. GZIP habe ich nun seit einiger Zeit deaktiviert. Das brachte aber nur eine sichtbare Verbesserung. Seitdem funktioniert das Portal auch auf den Rechnern meines Dienstherren besser. Grund dafür dürfte das Wetter24 Javasript sein, welches von extern Daten nachlädt. Mit GZIP dauerte das Portal Minuten bzw. wurde kplt. geblockt, ohne GZIP ist es sofort da. GZIP bleibt daher abgeschaltet.

Das eigentliche Problem lösste sich damit aber nicht. ^6

Bye
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: Mal wieder "Allowed memory size of..."

Beitrag von oxpus »

Das kann aber auch die MOD selber nicht beeinflussen, da dieses Phänomen nur auf deinem Server mit deiner Webservereinstellung zu tun hat.
Ich kann testen wie ich will, alle Dateien, ob winzig oder im hohen GB-Bereich lade ich von meinen Testservern (lokal und im Internet) fehlerfrei herunter...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten