Fehler anzeige

Begonnen von Kurdo, 29 Januar 2007, 18:43:06

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Kurdo

coppermine version 1.4.4.1


wenn ich auf meine gallery gehe und paar bilder mir anschauen will geht es, aber bei manchen bildern kommt diese fehler meldung was muss ich machen



Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 930191 bytes) in /var/www/web240/html/includes/mx_themes.php on line 526

danke im vorraus

funowner

Habe selben Fehler nur mit anderen Angaben

Habe auch schon Threads hier gefunden. Diese besagen, man soll die Größe ändern lassen.

Aber kann vielleicht mal jemand erklären, was diese meldung jetzt genau aussagt?
Lebe dein Leben solange du es kannst!

hausmeista

#2
Ich würde das mal dafür halten:
Die Erlaubte Speichergröße von 8388608 Bytes ist ausgereizt und es wird versucht, 930191 Bytes zuzuteilen/ hochzuladen. Entsprechende Information findet man dazu unter dem absoluten Pfad:  /var/www/web240/html/includes/mx_themes.php in der Zeile 526.
$string = preg_replace($searches, $replaces, $string);

der gesammte Abschnitt rund um die Zeile 526 sollte so aussehen:
/**
* bestimmte Texte, vor allem Image-Pfade, die ersetzt werden sollen, definieren (suche/ersetze).
*/
function theme_replace_parts($string, $part)
{
    // / wenn nix zu ersetzen, wieder zurueck
    if (!count($part)) return $string;
    // / array fuer ersetzungsvorgang fuellen
    foreach ($part as $i => $item) {
        if (!is_array($item[0])) { // preg rausnehmen
            $searches[$i] = $item[0];
            $replaces[$i] = $item[1];
        }
    }
    // / ersetzen und das Ergebnis in das template-Array speichern
    if (isset($searches)) {
        $string = str_replace($searches, $replaces, $string);
    }
    // / die oben definierten Elemente per preg_replace ersetzen
    if (isset($part['preg'])) {
        // / alte Arrays wieder loeschen
        $searches = array();
        $replaces = array();
        // / array fuer ersetzungsvorgang fuellen
        foreach ($part['preg'] as $i => $item) {
            $searches[$i] = $item[0];
            $replaces[$i] = $item[1];
        }
        // / ersetzen und Ausgabe in das template-Array speichern
        if (count($searches)) {
            $string = preg_replace($searches, $replaces, $string);
        }
    }
    return $string;
}

Heiko Richter: In Deutschland muss man arbeiten wie ein Pferd um zu verdienen wie ein Pony.
PMX Shop-Modul unter www.vcardo.de

funowner

Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 10368 bytes) in /var/www/html/web36/html/gedichte/modules/Gallery/include/picmgmt.inc.php on line 262

das ist mein Fehler.

Der macht nach der Erklärung ja dann keinen Sinn. Warum muss man etwas verkleinern?
Lebe dein Leben solange du es kannst!

hausmeista

Leider habe ich das Modul Gallery nicht installiert, es sei denn es handelt sich ursprünglich um das My_eGallery - Modul. Was steht denn in der besagten Zeile? Wenn nicht sende doch mal PM mit dem Inhalt der picmgmt.inc.php. Sollte da ähnlich der config.php Wichtige Daten enthalten sein, einfach unkenntlich machen - lol
Heiko Richter: In Deutschland muss man arbeiten wie ein Pferd um zu verdienen wie ein Pony.
PMX Shop-Modul unter www.vcardo.de

funowner

Das ist mal der Fall GD2, müsste auf dem Server installiert sein. Hab es auch mit anderen Methoden versucht. Geht nicht!

case "gd2" :
            if (!function_exists('imagecreatefromjpeg')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support the GD image library, check with your webhost if ImageMagick is installed', __FILE__, __LINE__);
            }
            if (!function_exists('imagecreatetruecolor')) {
                cpg_die(CRITICAL_ERROR, 'PHP running on your server does not support GD version 2.x, please switch to GD version 1.x on the admin page', __FILE__, __LINE__);
            }
            if ($imginfo[2] == GIS_GIF && $CONFIG['GIF_support'] == 1)
                $src_img = imagecreatefromgif($src_file);
            elseif ($imginfo[2] == GIS_JPG)
                $src_img = imagecreatefromjpeg($src_file);
            else
                $src_img = imagecreatefrompng($src_file);
            if (!$src_img) {
                $ERROR = $lang_errors['invalid_image'];
                return false;
            }
            if ($imginfo[2] == GIS_GIF)
              $dst_img = imagecreate($destWidth, $destHeight);
            else
              $dst_img = imagecreatetruecolor($destWidth, $destHeight);
            imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, (int)$destHeight, $srcWidth, $srcHeight);
                        touch($dest_file);
            $fh=fopen($dest_file,'w');
            fclose($fh);
            imagejpeg($dst_img, $dest_file, $CONFIG['jpeg_qual']);
            imagedestroy($src_img);
            imagedestroy($dst_img);
            break;
Lebe dein Leben solange du es kannst!

hausmeista

#6
hast du schon mal in Deiner phpinfo.php nachgesehen ob Du wirklich über die GD2 verfügen kannst? Oder nur ImageMagick? Irgendwie glaube ich, das Dein System gemäß Deinen Einstellungen im Administrationsbereich versucht die Bibliothek GD2 zu nutzen, aber nicht darauf zugreifen kann, weil Serverseitig nur ImageMagick zur Verfügung gestellt wird. Folge daraus wäre eine entsprechende Fehlermeldung. Vielleicht hast Du auch nur eine falsche Version angewählt [GD Version 2.x] ?? oder einfach nur ein Dateiformat ausgewählt, das eventuell nicht unterstützt wird. Poste doch mal den genauen Inhalt der Zeile 262 in der picmgmt.inc.php

Noch eine Variante wäre eine fehlende Freigabe der Bildgrössenreduktion, welche verhindert, das bei übergroßen Bildern das Design gesprengt wird.

Außerdem ist die GD Bibliothek eine Interne PHP Bibliothek, die nicht alle Server unterstützen. Erlaubt sind hier zudem eigentlich eh nur GIF (alte releases) oder JPEG & PNG (neue releases) als Bildformate, die nach der Erstellung von Thumbnails in low-quality veröffentlicht werden sollten.

Vielleicht hilft dir das weiter...
Heiko Richter: In Deutschland muss man arbeiten wie ein Pferd um zu verdienen wie ein Pony.
PMX Shop-Modul unter www.vcardo.de

funowner

also     bundled (2.0.28 compatible)  wird unterstützt.

Bild ist jpeg. Ich hab ja schon alles mögliche in den einstellungen versucht, nur es geht nicht.

Zeile 262:   $src_img = imagecreatefromjpeg($src_file);
Lebe dein Leben solange du es kannst!

hausmeista

Vielleicht ist das Bild im JPEG-2000 Format und trägt nur auf dem Server die Endung .jpg - Sollte dies der Fall sein, könnte Deine GD2 natürlich Schwierigkeiten machen, da das ursprüngliche Format nicht mit dem übereinstimmt die Sie verarbeiten kann. Versuche doch mal das Gleiche Bild local im Bildbearbeitungsprogramm zu öffnen (meistens wird dann hier schon eine falsche Formatierung angekündigt) und speichere neu im richtigen Format. Manchmal werden Bilder einfach falsch benannt um Sie in Foren, Gästebücher und ähnlich hochladen zu können, mir sind da zwar nur Fälle mit bmp-Dateien bekannt, aber man weiß ja Nie.- Sonst wäre ich wirklich langsam am Ende mit meinem Latein. Vielleicht sollte ich mir die Coppermine? auch mal downloaden, Sie fehlt eh noch für mein mx
Heiko Richter: In Deutschland muss man arbeiten wie ein Pferd um zu verdienen wie ein Pony.
PMX Shop-Modul unter www.vcardo.de

funowner

Also Dateiendungen habe ich schon jpg, jpeg sowie JPG und JPEG versucht. Das kann nicht das Problem sein. Meinst du ich soll die richtig anders formatieren?
Ich werde mal versuchen, sie auf ner anderen PragmaMx Seite von mir hochzuladen, Das könnte weiterhelfen zur weiteren Ursachenerkennung.
Lebe dein Leben solange du es kannst!

funowner

Das geht also auch nicht. Also ich bin wirklich auch am Ende. Wir brauchen jemanden, der sich wirklich damit auskennt;)
Lebe dein Leben solange du es kannst!

funowner

Lebe dein Leben solange du es kannst!

hausmeista

Hast Du alle Rechte nochmal überprüft? Wenn nichts geschrieben werden kann und es nicht an der Größe und am Dateiformat liegt, was bleibt dann noch?
Heiko Richter: In Deutschland muss man arbeiten wie ein Pferd um zu verdienen wie ein Pony.
PMX Shop-Modul unter www.vcardo.de

siggi

#13
Wieso Rechte überprüfen  ?  :mad2:
Dein Anbieter muss in der php.ini an der Memory-Size Schraube drehen, das ist alles.
Wie die Zeile 262 schon sagt :
  $src_img = imagecreatefromjpeg($src_file);
Hier wird scriptmäßig versucht, ein Imagefile anzulegen, das einfach zu groß für den
vorgegebenen Speicher ist. Darum diese Fehlermeldung.  :)

Mein Tipp: Immer komprimierte Bilder auf deiner Seite benutzen, die Ladezeiten
werden es dir danken 
Wenn man an Gras zieht wächst es auch nicht schneller.

funowner

soll das heißen, wenn ich das bild verkleiner, könnte es gehen?

Naja nen Versuch wert...
Lebe dein Leben solange du es kannst!

siggi

nicht unbedingt von der Dimension verkleinern, sondern komprimieren.
Also die Auflösung verringern.
Bildbearbeitungsprogramm starten  > Bild laden > Komprimierungsrate einstellen > Bild unter anderem
Namen speichern > komprimiertes Bild hochladen und in die Seite einbauen. Fertig.  :)
Wenn man an Gras zieht wächst es auch nicht schneller.

funowner

jaja schon klar

ich weiß ja wie das geht, hab da auch gute programme für. Ich dachte nur nicht, dass 1 MB zu viel sei.
Aber das wars, Hat jetzt wunderbar funktioniert mit knapp 200kb pro Bild und ner auflösung von 1280x1024.

Ist ja völlig genügend.

Danke! :thumbup:
Lebe dein Leben solange du es kannst!

siggi

Wenn man an Gras zieht wächst es auch nicht schneller.

hausmeista

siehe Beitrag 2  :puzzled:
Die liebe Bildgröße ...
Heiko Richter: In Deutschland muss man arbeiten wie ein Pferd um zu verdienen wie ein Pony.
PMX Shop-Modul unter www.vcardo.de