|
Autor |
Nachricht |
phpjunk
|
Titel: Fatal error: Allowed memory size (...) exhausted
Verfasst am: Do, 08 Dez 2005, 23:16 |
|
|
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1600 bytes) in /.../.../.../.../.../.../.../phpBB2/uploadpic.php on line 119
Provider: Strato
PHP-Version: 4.4.1
Die Bilder, die diesen Fehler reproduzierbar hervorrufen, sind zwischen 800 - 900 KB groß und haben eine Auflösung von 1600x1200.
(erlaubte Größe: 550x300; 100 KB)
Außerdem mußte ich vorher schon die uploadpic.php (Version 113a) mit "touch" ergänzen, wg. des aktuellen php-imagejpeg-Bugs, in Zeile 136 und 145:
touch($up_picpath.$up_picname);
imagejpeg($str_newimage, $up_picpath.$up_picname, $board_config['uploadpic_jpgqual']);
imagedestroy($str_image);
imagedestroy($str_newimage);
}
else
{
if (!empty($str_image))
{
touch($up_picpath.$up_picname);
imagejpeg($str_image, $up_picpath.$up_picname, $board_config['uploadpic_jpgqual']);
imagedestroy($str_image);
Ansonsten funktioniert das Hochladen und Einfügen der Bilder mit Upload-Pic absolut einwandfrei !!! Vielen Dank dafür!!!
P.S.: Liegt es evtl. daran, dass mir Strato nicht genug Hauptspeicher zuteilt?
|
|
Nach oben |
|
boris
Beiträge: 11057
|
Titel: Re: Fatal error: Allowed memory size of 8388608 bytes exhaus
Verfasst am: Fr, 09 Dez 2005, 00:22 |
|
|
phpjunk gab folgendes von sich: |
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1600 bytes) in /.../.../.../.../.../.../.../phpBB2/uploadpic.php on line 119 |
... also mal Klartext: es wird versucht, 1600 Bytes zu reservieren, dabei wird die Grenze von 8388608 Bytes überschritten ... achso ...
phpjunk gab folgendes von sich: |
Provider: Strato |
Nicht, daß das jetzt was beweisen würde ...
Auf jeden Fall kann in der php.ini eingestellt werden, welche Dateigröße generell über ein Formular hochgeladen werden kann - 8MB ist da schon sehr großzügig, aber daß der bei 1600 Bytes meckert, ist mir noch nicht untergekommen ...
Ich habe aber gerade mal zu dem Thema gegoogelt und ein Beitrag legte die Vermutung nahe, als sei der "tried to allocate"-Wert der Wert, der zuviel angefordert wurde - aber das ist bei dir ja auch nicht der Fall, es sein denn (Geistesblitz!):
Da die Funktion imagecreatefromjpeg den Fehler verursacht, die sich das Bild in den Speicher zieht, es es egal, ob die Dateigröße nur 800-900k ist, das unkomprimierte JPG (der muß sich das ja komplett in den Speicher ziehen, um das bearbeiten zu können) ist wahrscheinlich größer als die zulässigen 8MB !
phpjunk gab folgendes von sich: |
P.S.: Liegt es evtl. daran, dass mir Strato nicht genug Hauptspeicher zuteilt? |
Strato stellt wohl 8MB temporär zur Verfügung, in der php.ini kann man die Variable memory_limit setzen, keine Ahnung, ob Strato dich da ranläßt ...
phpjunk gab folgendes von sich: |
Außerdem mußte ich vorher schon die uploadpic.php (Version 113a) mit "touch" ergänzen, wg. des aktuellen php-imagejpeg-Bugs |
Den kannte ich noch garnicht, danke für den Hinweis
Hab direkt mal die FAQ erweitert, das Problem trat bei jemandem (auch Strato) schonmal auf ... bei der Fehlermeldung "invalid file" denkt man nicht gerade an so einen Fehler ... schon garnicht, daß der in PHP/GD-Lib liegt.
____________ beehave - home of humbug ... [we can't afford to be neutral]
|
|
Nach oben |
|
phpjunk
|
Titel: (Kein Titel)
Verfasst am: So, 11 Dez 2005, 18:37 |
|
|
Danke für die schnelle Antwort!
Werde Strato mal eine Supportmail zum Thema
Code: |
imagecreatefromjpeg |
und Speicherreservierungen schicken. Habe zwar wenig Hoffnung, aber, wer weiß ....
Kann ich denn vielleicht bei "uploadpic" einstellen, dass Bilder, die eine bestimmte Größe überschreiten, vorab schon ablehnt werden und somit die Fehlermeldung abgefangen wird?
|
|
Nach oben |
|
boris
Beiträge: 11057
|
Titel: (Kein Titel)
Verfasst am: So, 11 Dez 2005, 23:47 |
|
|
phpjunk gab folgendes von sich: |
Kann ich denn vielleicht bei "uploadpic" einstellen, dass Bilder, die eine bestimmte Größe überschreiten, vorab schon ablehnt werden und somit die Fehlermeldung abgefangen wird? |
In der neuen Version von UploadPic (hatte deswegen eine PM rumgeschickt, solltest du im Postfach haben, die Version wird in den nächsten Tagen veröffentlicht) habe ich die Fehlermeldung abgefangen und durch eine Meldung ersetzt, die dem Benutzer mitteilt, daß er doch ein kleineres Bild hochladen soll. Würd mich interessieren, ob das bei dir mit den Bildern klappt, die vorher nicht gingen ...
Bilder vorher abfangen funktioniert nicht so prickelnd: ich hab mal nachgesehen, ob man per PHP feststellen kann, wie groß ein JPG wird, wenn es dekomprimiert wurde, aber das geht nicht oder nur über eine Extra-Bibliothek, die dann wieder keiner installiert hat.
Ich kann vorher also nicht sehen, wieviel Speicher ich brauchen werde - ein 800k-JPG z.B. kann also je nach Motiv und Kompression locker durchgehen oder aber viel zu groß werden, wenn es einmal dekomprimiert ist ... daher werden wir wohl bei der Warnmeldung bleiben müssen ...
____________ beehave - home of humbug ... [we can't afford to be neutral]
|
|
Nach oben |
|
boris
Beiträge: 11057
|
Titel: (Kein Titel)
Verfasst am: Mo, 12 Dez 2005, 00:57 |
|
|
boris gab folgendes von sich: |
Würd mich interessieren, ob das bei dir mit den Bildern klappt, die vorher nicht gingen ... |
Genau in dem Part hab ich gerade noch einen winzigen Bug entdeckt - der ist jetzt behoben, ein neues Archiv liegt bereit.
____________ beehave - home of humbug ... [we can't afford to be neutral]
|
|
Nach oben |
|
phpjunk
|
Titel: (Kein Titel)
Verfasst am: Di, 13 Dez 2005, 01:00 |
|
|
Danke, habe das Update runtergeladen!
Sobald ich dazu komme, es auch zu installieren, werde ich sofort die üblichen verdächtigen Bilder ausprobieren und das Ergebnis hier posten!
Kann aber leider noch ein oder zwei Tage dauern.
|
|
Nach oben |
|
boris
Beiträge: 11057
|
Titel: (Kein Titel)
Verfasst am: Di, 13 Dez 2005, 10:30 |
|
|
phpjunk gab folgendes von sich: |
Kann aber leider noch ein oder zwei Tage dauern. |
Auch wenns juckt: glücklicherweise gibts bei Open Source ja keine festen Abgabetermine ...
____________ beehave - home of humbug ... [we can't afford to be neutral]
|
|
Nach oben |
|
phpjunk
|
Titel: (Kein Titel)
Verfasst am: Fr, 16 Dez 2005, 00:06 |
|
|
Juhuu! Endlich Version 1.20 installiert!
"Fühlt" sich auf jeden Fall sehr gut an, vor allem die Galeriefunktion!
Es scheint, als käme die Fehlermeldung
Code: |
"Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1600 bytes) in /.../.../.../.../.../.../.../phpBB2/uploadpic.php on line 154" |
später, bzw. seltener. Dabei spielt wohl die Quellgröße der Datei nicht die erste Rolle, sondern die Auflösung: Bei 1200x900 erhalte ich die bekannte Fehlermeldung (s.o.), während 1600x1200 und 1000x750 merkwürdigerweise überhaupt keine Meldung mehr im uploadpic-Popup provozieren. Das Fenster bleibt dann einfach leer.
Die Warnhinweise
Code: |
"Die Datei ist zu groß." und "Bild konnte nicht erzeugt werden. Versuche, ein kleineres Bild hochzuladen." |
wurden mir beim Testen jedenfalls noch nicht präsentiert.
Unerklärliche Vorgänge bei Strato?
NACHTRAG: Eben noch konnte ich doch mal ein 1000x750 Bild hochladen und skalieren, beim nächsten Test erschien wieder nur ein blankes Popup ohne Bild und Fehlermeldung. Die Fatal-Error erscheint bisher nur noch zuverlässig bei 1200x900, bei 1600x1200 bleibt das Upload-Pic-Popup leer. Vielleicht hängst es tatsächlich einzig und allein von der jeweiligen, tageszeitabhängigen Beanspruchung der Strato-Server ab...
|
|
Nach oben |
|
boris
Beiträge: 11057
|
Titel: (Kein Titel)
Verfasst am: Fr, 16 Dez 2005, 00:24 |
|
|
phpjunk @ Do, 15 Dez 2005, 23:06 gab folgendes von sich: |
Dabei spielt wohl die Quellgröße der Datei nicht die erste Rolle, sondern die Auflösung: |
Das ist wahrscheinlich der vermutete Effekt mit der unkomprimierten Größe, die man leider vorher nicht feststellen kann ...
phpjunk gab folgendes von sich: |
während 1600x1200 und 1000x750 merkwürdigerweise überhaupt keine Meldung mehr im uploadpic-Popup provozieren. Das Fenster bleibt dann einfach leer. |
Das hatte ich bei Tests bei mir auch - vermutlich greift dann das PHP-Limit für Upload-Dateien (also diesmal wirklich die Dateigröße) ... sind aber nur Vermutungen ...
phpjunk gab folgendes von sich: |
Die Warnhinweise (...) wurden mir beim Testen jedenfalls noch nicht präsentiert. |
"Datei ist zu groß" wird angezeigt, wenn das Bild nach Konvertierung zu groß ist - wenn du die erlaubte Größe in der Config mal auf 1kb stellst, sollte die beim nächsten Upload sofort auftauchen.
Die andere Meldung erscheint, wenn das Erzeugen des Bildes im Speicher fehlschlägt - ist bei mir noch nicht aufgetreten, hab wohl ne "großzügigere" Konfiguration als Strato
____________ beehave - home of humbug ... [we can't afford to be neutral]
|
|
Nach oben |
|
phpjunk
|
Titel: (Kein Titel)
Verfasst am: Fr, 16 Dez 2005, 00:31 |
|
|
Danke!
Und nochmal: Kompliment! Tolle Mod!
|
|
Nach oben |
|
|
|
ähnliche Beiträge |
|
Thema
| Autor
| Forum
| Antworten
| Verfasst am
|
|
Error message: "Please make sure the install an... |
mainicia |
mod support |
1 |
Mo, 09 Jul 2007, 11:20 |
|
Postgre SQL Error |
keno |
mod support |
4 |
Fr, 27 Apr 2007, 20:22 |
|
Debug Mode Error |
borrem |
mod support |
3 |
So, 25 Feb 2007, 06:48 |
|
Error in SQL install !! |
shorbaji |
mod support |
1 |
Fr, 23 Feb 2007, 20:29 |
|
Fiese Scheitel Memory |
Onkel Tuca |
laufmasche |
9 |
So, 11 Feb 2007, 13:51 |
Schreiben: nein. Antworten: nein. Bearbeiten: nein. Löschen: nein. Umfragen: nein.
|