yum updateをしたらImageMagickが動かなくなったときの対処法

yum updateを実行するとインストールしたパッケージのアップデートを行えます。

ただしパッケージのバージョンが上がることで、運用しているWebサービスが動かなくなる可能性があります。

私の場合は”ImageMagic”のアップデートが原因で、Webサービスで画像処理を行う処理が止まりました。

ターミナルから”convert -v”を叩くと、ImageMagic自体はどうやら動いている模様。

しかしWebサービスを構成するphpから”new IMagic()”を呼び出してもインスタンスは生成されずに処理が止まってしまっていました。

phpの利用可能なモジュールを確認すると以下のようなエラーが。

$ php -m | grep imagick
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/imagick.so' - libMagickWand.so.5: cannot open shared object file: No such file or directory in Unknown on line 0

どうやら拡張ライブラリに原因があるようです。

対処法

ImageMagicはpeclを使ってインストールを行います。

まずはpecl upgradeでImageMagicの拡張モジュールを更新してみます。

。。。

状況は変わらず。

こういった場合はいったんアンインストールしてから再度インストールしてみます。

$ sudo pecl uninstall IMagick
$ sudo pecl install IMagick

モジュールが正しくインストールされているか再度確認してみます。

$ php -m | grep imagick
imagick

先ほどのエラーがなくなりましたね。

実際にWebサービス側の動作を見てみると、正しくImageMagicが動きました!

Related Posts