PHP5.4系でのImagickコンパイルエラーの対処法 (CentOS 5)
PHPを5.4系にアップデートしたところ、PECL拡張モジュールであるImagickが動作しなくなってしまい、下記のようなロードエラーが出るようになってしまいました。
ImageMagickを入れなおしたり色々と奮闘した結果、最終的にはなんとも簡単な方法で解決はしたのですが、自分のためにもここにメモとして残しておきたいと思います。
対処方法
まず、通常のインストール方法は下記となります。
このやり方ですと、下記のようなコンパイルエラーとなってしまいます。
make: *** [imagick_class.lo] Error 1
: Function eregi() is deprecated in PEAR/Registry.php on line 735
: Function eregi() is deprecated in PEAR/Registry.php on line 735
ERROR: `make' failed
対処方法はいたって簡単。
「imagick」を「imagick-beta」にして実行してください。
PHPが5.4にアップデートされて10ヶ月ほど経ちますが、少なくとも今回作業した私の環境では、Imagickはまだ通常のpecl installでは5.4に対応されていないため、peclではこう対処するしかなさそうです。
facedetectも同じようにロードエラーとなりましたが、こちらはアンインストール後、最新のソースコードを入手し、再度 phpize && ./configure && make && make install することで解決しました。
環境によっては他にも5.4系にして発生するエラーがありそうですね。ご注意を。
この投稿が何かしらのお役に立てれば何よりです。