Technische Probleme bei der Webentwicklung- Heute: ImageMagick

Für ein neues Projekt stand ich vor der Aufgabe, verschiedene SVG und Beschriftungen in einer besonderen Schriftart zu kombinieren und am Ende als PNG/JPEG zur Verfügung zu stellen. Soweit, so gut, ImageMagick sollte all dieses können und mir auch in Form einer PHP-Bibliothek zur Verfügung stellen.

Da ich das neue MacBook Pro zum Anlass genommen hatte, alles komplett von Neuem zu installieren, war Homebrew zwar schon längst installiert, ImageMagick aber eben noch nicht. Ein paar wenige Befehle später meldete brew install php70-imagick den Vollzug. Blöderweise meckerte PHP trotzdem, dass es die Klasse Imagick nicht kennen würde. Ein Blick in die Ausgabe von phpinfo() ergab zwar, dass die INI-Datei der Extension verarbeitet wurde, ansonsten tauchte aber keine Information zu ImageMagick auf.

Nach ein paar hilflosen Neuinstallationen der Pakete, kam ich mal auf die Idee in die Error-Logs des Apache zu schauen. Und siehe da: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php70-imagick/imagick.so' - dlopen(/usr/local/opt/php70-imagick/imagick.so, 9): Library not loaded: /usr/local/opt/imagemagick/lib/libMagickWand-6.Q16.3.dylib\n Referenced from: /usr/local/opt/php70-imagick/imagick.so\n Reason: image not found in Unknown on line 0

Wie üblichen in solchen Fällen, googlet man nach der Fehlermeldung und landet unweigerlich bei Stackoverflow. Die Lösung dort sah harmlos genug aus und nach kurzem Anpassen auf meine Zwecke liess ich brew reinstall php70-imagick --build-from-source ausführen. Natürlich mit positivem Ausgang, so dass ich danach endlich mit der eigentlichen Aufgabe fortfahren konnte.

Als dann irgendwann eine erste Version fertig war, sollte diese natürlich auch auf den Staging-Server. Die Skripte dafür waren recht schnell eingerichtet, ein erster Testlauf brachte aber kein Bild zum Vorschein. Auch hier in die Ausgabe von phpinfo() geschaut, wo aber alles danach aussah, als wenn ImageMagick vollständig installiert war.

Unter den unterstützen Formaten tauchte aber SVG nicht auf! Und das, obwohl die Version auf dem Server nur eine Minor-Release älter war, als die, die ich lokal verwendete. Hier war dann die Lösung, zusätzlich noch das Paket imagemagick zu installieren, da dabei wohl etwas mehr enthalten ist, als wenn nur php70-imagick installiert wurde.

Ich freue mich jetzt schon darauf, wenn dieses eigentlich keine Modul irgendwann auch mal beim Kunden installiert werden muss. Aber immerhin kenne ich jetzt schon ein paar Fallstricke und bin so eigentlich gut vorbereitet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.