Smartor Album: Allowed memory size und Thumbnails?

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:

Smartor Album: Allowed memory size und Thumbnails?

Beitrag von Dungeonwatcher »

Moin! :cool:

Irgendwie komme ich nicht wirklich dazu meine angefangenen Projekte ernsthaft weiter zu führen. Andauernd tapsen meine User in neue Fehler meines Forums. Aktuell betrifft es mal wieder das Album. ^6

Folgende Meldung erhält einer meiner User wenn er versucht in mein Album Bilder hochzuladen:

"Allowed memory size of 52428800 bytes exhausted (tried to allocate 3928 bytes)"

Ich lasse per PHP.INI Dateigrößen bis 500MB und für Scripts 50MB zu, im Album habe ich dies Dateigröße dann auf 6MB begrenzt. Die Bilder des betroffenen Users sind alle um die 1,85MB groß, also weit unter den zugelassenen Größen. Selbst eine Erhöhung auf memory_limit = 70M hilft nicht weiter:

"Allowed memory size of 73400320 bytes exhausted (tried to allocate 3928 bytes)"

Der betroffene Codebereich in der album_upload.php ist dieser:

Code: Alles auswählen

$src = $read_function(ALBUM_UPLOAD_PATH . $pic_filename);
Was hat diese Pfadangabe mit der Datei- bzw. Scriptgröße zu tun?

Die betroffenen Bilder sind jedoch alle kplt. hochgeladen worden.
Offenbar hat das ganze mit der Erstellung der Vorschaubilder zu tun, denn diese betroffene Zeile steht direkt vor Thumbnail Funktion:

Code: Alles auswählen

$src = $read_function(ALBUM_UPLOAD_PATH . $pic_filename);

if (!$src)
{
	$gd_errored = TRUE;
	$pic_thumbnail = '';
}
else if( ($pic_width > $album_config['thumbnail_size']) or ($pic_height > $album_config['thumbnail_size']) )
{
[...]
Mit irgendwelchen Rechten des Dateisystems kann es nichts zu tun haben, denn bei anderen Bildern funktioniert alles inkl. der Vorschaubilder.

Was läuft hier mal wieder falsch?

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

Beitrag von oxpus »

Erste Frage:
Wieviele Kategorien hast Du im Album?

Zweite Frage:
Wie kommst Du darauf, daß es dieser spezielle Teil der album_upload.php ist, der Probleme bereiten soll?

Dritte Frage:
Welche MODs sind installiert und erzeugen bereits bei einer "leeren" phpBB-Seite heftigen Speicherverbrauch?
Bedenke, daß jeder Datensatz, der z. B. mittelbar oder unmittelbar über die page_header.php geladen wird, Speicher verbraucht, der dann ggf. beim Hochladen eines Bildes nicht mehr zur Verfügung steht.
Wenn bereits 70 MB PHP-Speicher belegt werden, sollstest Du auch mal nicht ständig neue Projekte anfangen, sondern wirklich die bestehenden erst einmal optimieren ;)
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:

Beitrag von Dungeonwatcher »

Hi! :cool:

[quote="oxpus";p="87932"]Erste Frage:
Wieviele Kategorien hast Du im Album?[/quote]

Aktuell sind es 8. Anfang nächsten Jahres sollen dann noch diverse Unterkategorien dazu kommen.
Zweite Frage:
Wie kommst Du darauf, daß es dieser spezielle Teil der album_upload.php ist, der Probleme bereiten soll?
Nunja, das Bild ist bereits kplt. hochgeladen und es müsste mit der Erstellung des Vorschaubildes angefangen werden.
Dritte Frage:
Welche MODs sind installiert und erzeugen bereits bei einer "leeren" phpBB-Seite heftigen Speicherverbrauch?
Hmmm, wie bekomme ich das raus?

Die lahmsten Seiten produziert der Statistik Mod (10-15 Sek) und bei der Kategorieansicht dein DL Mod (um die 10 Sek).

Nur der Attachment Mod hatte dieses Problem auch. Da half es dann die Werte in der PHP.INI hochzusetzen. Seitdem tritt es dort nicht mehr auf. Beim Album Mod nur bei einigen wenigen Bildern, welche weit unter den eingestellten Werten der Größe sind. Ansonsten gibt es dieses Problem nirgends.
Bedenke, daß jeder Datensatz, der z. B. mittelbar oder unmittelbar über die page_header.php geladen wird, Speicher verbraucht, der dann ggf. beim Hochladen eines Bildes nicht mehr zur Verfügung steht.
Dann müsste aber doch eine Erhöhung von Memory_Limit diesen Engpass beseitigen? Es ist aber egal ob ich dort 50MB oder 100MB eintrage, der bemängelte Wert ist immer 3928 bytes?
Wenn bereits 70 MB PHP-Speicher belegt werden, sollstest Du auch mal nicht ständig neue Projekte anfangen, sondern wirklich die bestehenden erst einmal optimieren ;)
:) Das sagst du so einfach. Album und Attachment Mod sind die einzigen, welche noch sooo "Fehlerhaft" sind. Nur bei diesen bekomme ich ab und zu diesen PHP Fehler um die Ohren gehauen. Und gerade diese Fehlermeldung ist es, welche mir nicht einleuchtet. ^6

Denn was hat die bemängelte Größe mit dieser Codezeile zu tun?

Nachtrag:

Es muss definitiv etwas mit der Erstellung der Vorschaubilder zu tun haben. Ich habe mal etwas mit dem Maßen der Bilder experimentiert. Zulassen tue ich 4096x4096 Pixel. Bilder die Beidseitig eine Seitenlänge größer ca. 3000 Pixel haben verursachen diese Fehlermeldung. Bei Bilder deren eine Seite kleiner als 3000 Pixel ist, kann die andere Seite bis 4096 Pixel groß sein, diese werden problemlos verarbeitet. Es ist hierbei egal wie groß die Datei (zugelassen sind 6MB) ist.
Das klingt ziemlich nach einem Bug im GD Modul, oder liege ich da falsch?

Bye
Zuletzt geändert von Dungeonwatcher am So 30.Nov, 2008 11:28, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das klingt ziemlich nach einem Bug im GD Modul, oder liege ich da falsch?
Nein.
Das Erstellen eines Thumbs, also eines neuen Images mit der GD-Datei, braucht PHP-Speicher, der eben nun mal begrenzt ist.
Der PHP-Speicher wird belegt durch das aktuell geladene PHP-Script (inkl. aller inkludierten Dateien!), den Daten, die dort bearbeitet werden und in diesem Fall eben auch noch der temporäre Speicher für das neu zu erstellende Image (Thumbnail).
Bedenke auch dabei, daß in dem Moment auch noch das hochgeladene Image im Speicher steht und damit auch Platz braucht!
Dann müsste aber doch eine Erhöhung von Memory_Limit diesen Engpass beseitigen?
Ja, würde es, ist aber eigentlich nicht Sinn der Sache ;)
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:

Beitrag von Dungeonwatcher »

Moin! :cool:

Nachdem ich das Netz der Netze stundenlang durchforstet habe, leuchtete mir nun auch diese Erklärung ein.

[quote="oxpus";p="87939"]
Das klingt ziemlich nach einem Bug im GD Modul, oder liege ich da falsch?
Nein.[/quote]

Wie, war, wie war.
Das Erstellen eines Thumbs, also eines neuen Images mit der GD-Datei, braucht PHP-Speicher, der eben nun mal begrenzt ist.
Jou, und davon verdammt viel, wie im o.g. Link schön erklärt wird.
Dann müsste aber doch eine Erhöhung von Memory_Limit diesen Engpass beseitigen?
Ja, würde es, ist aber eigentlich nicht Sinn der Sache ;)
Hmmm, überzeugt und die Bildgröße auf 2048x2048 Pixel zurückgeschraubt.

THNX

Bye
Antworten