#1 15. Mai 2009 imagecreatefromjpeg Memory Problem/Bug? So, habe ein leichtes Problemchen mit imagecreatefromjpeg. Ich hab den gleichen Code einmal auf meinem Rechner und einmal auf meinem Server laufen. Wenn ich bei meinem Server Dateien nehme mit mehr als 500kb läuft das Script nicht (out of memory). Folgenden Code hab ich jetzt zum probieren ergänzt: Code: [...] echo "<br>Vor dem kopieren<br>"; echo Memory_Get_Usage(); $image_original = imagecreatefromjpeg($_FILES['photo']['tmp_name']); echo "<br>Nach dem kopieren<br>"; echo Memory_Get_Usage(); [...] Auf meinen Localhost läuft XAMPP PHP V.: 5.2.6, 8mb Memory Limit Webserver: 5.2.8, 64mb Memory Limit Ergebnis bei ungefähr gleicher Bildgröße (160kb) Localhost Code: Vor dem kopieren 424144 Nach dem kopieren 424324 Webserver Code: Vor dem kopieren 477864 Nach dem kopieren 1853200 Hat jemand eine Idee für das "Problem" oder weiß einer warum das so ist? Es wird immerhin der benötigte Speicher verdoppelt? Danke schon mal vorweg + Multi-Zitat Zitieren
#2 15. Mai 2009 AW: imagecreatefromjpeg Memory Problem/Bug? war grad kurz am überlegen ob ich den thread direkt lösche, denn deine rechtschreibung is unter aller sau. wie dem auch sei: wenn du imageCreateFromXXX aufrufst musst du den speicher selber wieder freigeben mit imageDestroy($imageHandle). dann hast du den ganzen, zuvor vergebenen speicher wieder zur verfügung. //rechtschreibung verbessert + Multi-Zitat Zitieren
#3 15. Mai 2009 AW: imagecreatefromjpeg Memory Problem/Bug? Danke für deine Antwort, Ich habe mal deine Worte mal in kurze Taten umgesetzt. Leider passt der Rest überhaupt nicht zum Thema, es geht nicht darum wie ich den Speicher wieder Frei bekomme, es geht darum wieso dieser Befehl bei der einen Version "normal" den Speicher belegt und bei der anderen Version/Server auf einmal total überdimensional viel Speicher beansprucht. + Multi-Zitat Zitieren
#4 16. Mai 2009 AW: imagecreatefromjpeg Memory Problem/Bug? naja, rechne doch selber aus wie viel speicher das ganze benötigt: PHP: $imageInfo = getImageSize ( $imageFilename ); $memoryNeeded = round (( $imageInfo [ 0 ] * $imageInfo [ 1 ] * $imageInfo [ 'bits' ] * $imageInfo [ 'channels' ] / 8 + Pow ( 2 , 16 )) * 1.65 ); print 'bild benötigt ' . $memoryNeeded . ' bytes' ; die dateigröße spielt dabei erstmal keine rolle + Multi-Zitat Zitieren
#5 16. Mai 2009 AW: imagecreatefromjpeg Memory Problem/Bug? //edit hab deine lösung noch nicht durch gelesen, sec //edit2 ich mache morgen weiter Ich glaub ich habe mich etwas schlecht ausgedrückt, dass Problem was ich einfach habe, bei mein localhost brauch er ca. 180 (byte/bit?) bei meinen Webserver hingegen 1.375.336 byte/bit (?) NUR bei Code: $image_original = imagecreatefromjpeg($_FILES['photo']['tmp_name']); und das ist nen bissel viel für mich und ich möchte halt gerne wissen woran das liegen könnte. + Multi-Zitat Zitieren
#6 16. Mai 2009 AW: imagecreatefromjpeg Memory Problem/Bug? ich hab das mal eben selber getestet: php5.3rc1 @ windows xp sp3 Code: bild informationen: breite = 2000 px hoehe = 695 px groesse = 253443 byte benoetigter speicher = 6988634 byte speicher vor dem oeffnen = 322704 byte geschaetzer speicher nach dem oeffnen = 7311338 byte speicher nach dem oeffnen = 7297032 byte speicher nach dem schliessen = 323008 byte php5.3rc2 @ gnu/linux debian4.0 Code: bild informationen: breite = 2000 px hoehe = 695 px groesse = 253443 byte benoetigter speicher = 6988634 byte speicher vor dem oeffnen = 316468 byte geschaetzer speicher nach dem oeffnen = 7305102 byte speicher nach dem oeffnen = 7290860 byte speicher nach dem schliessen = 316844 byte liegt wohl an deinem bild + Multi-Zitat Zitieren