Sven Rautenberg: Thumbnails erstellen, Bild zu hoch/breit?

Beitrag lesen

Moin!

Funktioniert eigentlich auch Klasse, nur bei großen Bildern, d.h. Bildern mit Dimensionen jenseits der 2000px scheint es nicht zu funktionieren. Kann es am Server und der Speicherverwaltung liegen?

Definitiv. PHP kriegt je Prozess nur eine gewisse Menge an Speicher zur Verfügung.

Und da die Bildverarbeitung unkomprimierte Daten erfordert (jedenfalls mit der verwendeten gdlib), kannst du dir den Speicherbedarf leicht selbst ausrechnen: Breite (in Pixeln) mal Höhe (in Pixeln) mal 3 = Bedarf in Bytes für das Bild.

Das bedeutet: Eine freundliche 4-Megapixel-Kamera liefert beispielsweise ein 2000x2000px-Bild (ja, reale Kameras haben das Bildverhältnis 4:3, ich weiß...) , welches im Speicher gleich mal 12 Megabyte RAM verbraucht.

Wenn PHP jetzt je Prozess nur 10 MB verbrauchen darf, kriegst du die Probleme.

Und die Lösung hängt ganz von deinen Einflußmöglichkeiten ab. Wenn du die Speicherverwaltung selber konfigurieren kannst, kannst du natürlich mehr RAM genehmigen (unter der Voraussetzung, dass andere Prozesse dann nicht zuwenig RAM übrigbehalten). Wenn du da nichts dran drehen kannst, bleibt dir nur, so große Bilder nicht zu verarbeiten.

- Sven Rautenberg