it-swarm.com.de

ImageMagick Kein Dekodierungsdelegierter für dieses Bildformat

Ich arbeite unter Windows und Wamp Server.

dies ist mein PHP Code mit Imagick

$imagick = new Imagick($_SERVER['DOCUMENT_ROOT'] . '/' . $this->_name);

wo $_SERVER['DOCUMENT_ROOT'].'/'.$this->_name angezeigt wird: 

D: /Sources/my_project/public/media/2/9/1/05201502/55450e1b6543a05201502_9.PNG

Ich habe das Bild überprüft und es existiert im Ordner.

Aber Imagick löst eine Ausnahme aus:

Nicht erfasste Ausnahme 'ImagickException' mit der Nachricht 'no decode delegate Für dieses Bildformat `D: /Sources/my_project/public/media/2/9/1/05201502/55450b10d8ea705201502_9.PNG' @ error/const.c/ReadImage/555 'in D:\Sources\my_project\library\project\Image.php in Zeile 225

Ich habe nach einer Lösung gesucht, aber keine gefunden. Wie kann ich das beheben? Danke dir 

Update: Dies ist das Ergebnis, wenn ich convert -version in die Befehlszeile eingebe:

  Version: ImageMagick 6.8.8-4 Q16 x86 2014-01-29 http://www.imagemagick.org
  Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
  Features: DPC Modules OpenMP
  Delegates: bzlib cairo freetype jbig jng jp2 jpeg lcms lqr pangocairo \
             png ps rsv g tiff webp xml zlib

Update

Dies ist die phpinfo von imagick.

Anzahl der unterstützten Formate von ImageMagick: 0
Von ImageMagick unterstützte Formate: kein Wert

6
SmootQ

Anscheinend unterstützt Ihr ImageMagick-Modul PHP any keine Bildformate.

Versuchen Sie, eine andere ImageMagick-Installation zu finden, oder installieren Sie PHP von Grund auf.

Auch - scheint, dass es bereits Frage/Antwort in SO darüber gibt

6
Kalle Volkov

Du solltest rennen

convert -version

und melden Sie die Ausgabe. Auf meinem System ist es so

Version: ImageMagick 6.9.0-0 Q16 x86_64 2014-12-06 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC
Features: DPC Modules
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc jbig \
                      jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png ps \
                      rsvg tiff webp wmf x xml zlib

Enthält Ihre Ausgabe png als einen der eingebauten 'delegates' ?

Wenn nicht, aktualisieren Sie Ihre Installation oder erstellen Sie eine aktuelle Quelle.

5
Kurt Pfeifle

Endlich fand ich eine Lösung für meine Windows-OpenServer/nginx/php-fpm-Installation:

  1. Laden Sie die neueste Version von php_imagick für Ihre Version von PHP von http://windows.php.net/downloads/pecl/releases/imagick/ herunter (z. B. php_imagick-3.4.3-7.1-ts- vc14-x64.Zip)
  2. Extrahieren Sie nur php_imagick.dll aus diesem Archiv in Ihren Ordner "php/ext".
  3. Führen Sie phpinfo () aus und überprüfen Sie den Wert in der Zeile "Imagick compiliert mit ImageMagick-Version" (meine war: "ImageMagick 6.9.3-7 Q16 x64 ...").
  4. Gehen Sie jetzt zu http://windows.php.net/downloads/pecl/deps/ und laden Sie die korrekte Version von Imagick - *. Zip-Datei herunter (meine war: ImageMagick-6.9.3-7-vc14-x64. Postleitzahl).
  5. Entpacken Sie dieses Archiv und kopieren Sie alle * .dll-Dateien aus dem Ordner "/ bin" in Ihren Ordner "php/ext" (ca. 145 Dateien).
  6. Starten Sie den Server neu und überprüfen Sie phpinfo (). ImageMagick unterstützt jetzt etwa 230+ Formate.

Manchmal zeigt phpinfo () an, dass imagick alle Formate unterstützt, aber php-Skripts nicht reagieren. Überprüfen Sie in diesem Fall, ob Sie die korrekte Version von Imagick - *. Zip für Ihre Installationen herunterladen. (ts/nts, VC11/VC14, x64/x86)

2