Memory size?!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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!!!

    Comment


    • #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

      Comment


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

        Comment


        • #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!
          Last edited by sHimp|1mp; 05-01-2008, 18:36.

          Comment


          • #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?
            Last edited by combie; 05-01-2008, 18:39.
            Wir werden alle sterben

            Comment


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

              Comment


              • #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

                Comment

                Working...
                X