PHP: gd-png: fatal libpng error: Read Error: truncated data
Linux/OpenSource, PHP, ubuntuusers.de Mai 17th, 2010Gerade zum Bloggen von Webseiten-Screenshots bietet sich diese Firefox Extension an: Screengrab. Bisher hat das auch alles prima geklabbt: Ubuntu, Firefox, WordPress Blog und Ubuntu Server.
Neuerdings gibts da jedoch ein Problemchen: Beim Hochladen der Bilder ins WordPress gibt es nur das „broken Image“ Symbol, und auf dem Server wird ganz viel dieser Art geloggt:
gd-png: fatal libpng error: Read Error: truncated data
gd-png error: setjmp returns error condition 2gd-png: fatal libpng error: Read Error: truncated data
gd-png error: setjmp returns error condition 2gd-png: fatal libpng error: Read Error: truncated data
gd-png error: setjmp returns error condition 2
Die defekten Zeilenvorschübe kommen dabei original so aus dem Logfile. Ich habe zwar nach der Fehlermeldung ein wenig gesucht, konnte jedoch lediglich einen Hinweis finden, dass es auf aktuelleren PHP Versionen (z.B. Ubuntu Lucid) evtl. zu Problemen mit der Kompressionsstufe 10 kommen kann.
Abhilfe konnte ich lediglich dadurch schaffen, dass ich mit dem Gimp das Bild in eine indexierte Farbtabelle statt des ursprünglichen RGB Formats konvertiert habe. Die Kompressionsstufe war vorher und danach auf „8“. Jedoch hat sich dabei noch die Angabe der Bildauflösung geändert, evtl. lag es auch daran. Hier zum Vergleich die Ausgabe von pnginfo:
Vorher:
Image Width: 622 Image Length: 181
Bitdepth (Bits/Sample): 8
Channels (Samples/Pixel): 4
Pixel depth (Pixel Depth): 32
Colour Type (Photometric Interpretation): RGB with alpha channel
Image filter: Single row per byte filter
Interlacing: No interlacing
Compression Scheme: Deflate method 8, 32k window
Resolution: 0, 0 (unit unknown)
FillOrder: msb-to-lsb
Byte Order: Network (Big Endian)
Number of text strings: 0 of 0
Nachher:
Image Width: 622 Image Length: 181
Bitdepth (Bits/Sample): 8
Channels (Samples/Pixel): 1
Pixel depth (Pixel Depth): 8
Colour Type (Photometric Interpretation): PALETTED COLOUR (255 colours, 0 transparent)
Image filter: Single row per byte filter
Interlacing: No interlacing
Compression Scheme: Deflate method 8, 32k window
Resolution: 2835, 2835 (pixels per meter)
FillOrder: msb-to-lsb
Byte Order: Network (Big Endian)
Number of text strings: 0 of 0
Wer also auch solche Probleme hat: Bild einmal mit einem anderen Programm speichern oder das Farbformat ändern. Dennoch wundert mich, dass vor dem Ubuntu Lucid Update (auf meinem Desktop und dem fuer das Blog zuständigen Server) genau der Ablauf „Screengrab und Hochladen“ wunderbar funktionierte.)
Neue Kommentare