Memory size?!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Memory size?!

    Hallo liebe PHP Community,
    ich habe für eine community gebastelt allerdings stürtzt die nach ein paar stunden immer ab mit folgender begründung:

    Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 12288 bytes) in /srv/www/vhosts/ponoc.de/httpdocs/resize.class.php on line 137

    Nach einer gewissen Zeit ider der memory wohl wieder leer und die seite läuft ganz normal weiter! Kann mir jemand sagen wie ich den speicher löschen kann? Oder eine andere möglichkeit?

    Wäre über jede Idee dankbar!

    Mit freundlich Grüßen
    Malte Frerichs

  • #2
    Was hältst du davon, wenn du einfach das Problem behebst?

    Der Fehler hat eine Ursache. Diese wird sogar recht genau angegeben. Also beheben und freuen...

    Kann mir jemand sagen wie ich den speicher löschen kann?
    Damit meinst du sicher image_destroy(). Alles andere, was man in diese Frage hineininterpretieren kann ist nämlich unsinn.
    ICH BIN ICH!!!

    Kommentar


    • #3
      nach ein paar stunden
      Wie?
      Doch nicht ein Script, was ein paar Stunden durchläuft?
      Du meinst bestimmt was anderes!
      Der Speicher wird nämlich automatisch nach jedem Scriptdurchlauf KOMPLETT freigegeben.


      Dein Script braucht "manchmal" zuviel Speicher!
      evtl. eine Bildbearbeitung oder nichtbeendete Rekursion.
      Da hilft nur suchen... Der Fehler ist mit einer Glaskugel nicht zu finden.
      Wir werden alle sterben

      Kommentar


      • #4
        wie sagte IchBinIch
        .....Damit meinst du sicher image_destroy() .....

        Kommentar


        • #5
          Ich hab mein Script nunmal umgebaut!

          meine Klasse sieht nun so aus:

          PHP-Code:
          <?php

              
          class image {
                  
                  var 
          $file_ori;
                  var 
          $width;
                  var 
          $height;
                  
                  function 
          image($file_ori)
                  {
                      
          $this->file_ori $file_ori;
                  }
                  
                  function 
          resize($width$height$anderes){
                      
          $this->width $width;
                      
          $this->height $height;
                  }
                  
                  function 
          output_resized($neu_date$art) {
                      
                      
          $fehler false;
                      
          $imagefile $this->file_ori;
                      
          $imagesize getimagesize($imagefile);
                      
          $imagewidth $imagesize[0];$imageheight $imagesize[1];
                      
          $imagetype $imagesize[2];
                      
          $imagefilesize filesize($imagefile);
                      if(
          $imagefilesize <= '3145728')
                      {
                      switch (
          $imagetype){    
                          case 
          1:         
                          
          $image imagecreatefromgif($imagefile);        
                          break;    
                          case 
          2:    
                          
          $image imagecreatefromjpeg($imagefile);        
                          break;    
                          case 
          3:    
                          
          $image imagecreatefrompng($imagefile);        
                          break;    
                          default: 
          $fehler=true;
                          }
                      
                          
                      if(!
          $fehler)
                          {
                      
          $maxthumbwidth $this->width;
                      
          $maxthumbheight $this->height;

                      
          $thumbwidth $imagewidth;
                      
          $thumbheight $imageheight;
                      if (
          $thumbwidth $maxthumbwidth){    
                          
          $factor $maxthumbwidth $thumbwidth;    
                          
          $thumbwidth *= $factor;    
                          
          $thumbheight *= $factor;
                      }
                      if (
          $thumbheight $maxthumbheight){    
                          
          $factor $maxthumbheight $thumbheight;    
                          
          $thumbwidth *= $factor;    
                          
          $thumbheight *= $factor;
                          }
                          
          $thumb imagecreatetruecolor($thumbwidth$thumbheight);
                          
                          
                          
                      
          imagecopyresampled(    $thumb,    $image,    0000,    $thumbwidth$thumbheight,    $imagewidth$imageheight);    
                      
                      
                      
          header('Content-Type: image/png');
                      
          $thumbfile $neu_date;
                      
          imagepng($thumb$thumbfile);
                      
          ImageDestroy($thumb); 
                       }
                      }

                  }
              }


          ?>
          Das komische ist jetzt immernoch das die Website ne gewissen Zeit wirklich stabiel läuft und dann setzte sie wieder aus! Vll. sieht einer von euch den Fehler! Wäre wirklich dankbar!
          Zuletzt geändert von sHimp|1mp; 05.01.2008, 19:36.

          Kommentar


          • #6
            Hast du nicht ImageDestroy($image) vergessen??
            Und sollte nach der Ausgabe nicht besser sofort ein exit folgen?
            Und wenn nicht, warum nicht?
            Bzw. was ist $neu_date?? Wieso setzt du einen Header wenn $neu_date gefüllt ist?
            Zuletzt geändert von combie; 05.01.2008, 19:39.
            Wir werden alle sterben

            Kommentar


            • #7
              Ich holzkopf danke ich werde es mal testen! Hoffe dann geht alles

              Kommentar


              • #8
                Das ist entweder nicht das komplette Script oder das falsche. Der Fehler tritt in Zeile 137 auf, deine Klasse hat aber nur 78 Zeilen.
                [FONT="Helvetica"]twitter.com/unset[/FONT]

                Shitstorm Podcast – Wöchentliches Auskotzen

                Kommentar

                Lädt...
                X