Imagick for PHP をインストール on RHEL
UbuntuからRedHatに引っ越したとろ、PHPのImagick extensionがyumで取得できない事をに焦った時の対応履歴。PPAみたいなリポジトリ追加しての対応方法もあるんだろうなぁと思いつつ、上手くいったので make install っぽい形で進めました。
- RedHat Enterprise 6.x
- ImageMagick 6.5.4.x
- PHP 5.5.x (SCL)
手順
インストール
後述のPECLでimagickをインストールする時に、gccでコンパイルが走るので、必要なものを一式揃えます(php-pear, gccが入ってない環境では、それも入れてください)。
$ sudo yum install ImageMagick ImageMagick-devel ImageMagick-perl
インストールを試すも、エラー。
# pecl install imagick ... running: phpize Can't find PHP headers in /opt/rh/php55/root/usr/include/php The php-devel package is required for use of this command. ERROR: `phpize' failed
php-devel が不足していました。SCLでPHP5.5をいれてるので、次のパッケージを追加。
$ sudo yum install php55-php-devel
再度インストールを試みると、ソースが取得されて、自動で configure, make と進みます。
# pecl install imagick downloading imagick-3.1.2.tgz ... Starting to download imagick-3.1.2.tgz (94,657 bytes) .....................done: 94,657 bytes 15 source files, building ... Build process completed successfully Installing '/opt/rh/php55/root/usr/lib64/php/modules/imagick.so' Installing '/opt/rh/php55/root/usr/include/php/ext/imagick/php_imagick.h' Installing '/opt/rh/php55/root/usr/include/php/ext/imagick/php_imagick_shared.h' Installing '/opt/rh/php55/root/usr/include/php/ext/imagick/php_imagick_defs.h' install ok: channel://pecl.php.net/imagick-3.1.2 configuration option "php_ini" is not set to php.ini location You should add "extension=imagick.so" to php.ini
有効化
.so ファイルが作成されている事を、念のため確認
$ ls /opt/rh/php55/root/usr/lib64/php/modules/imagick.so /opt/rh/php55/root/usr/lib64/php/modules/imagick.so
新たに ini ファイルを作成して組み込む。
$ sudo vi /opt/rh/php55/root/etc/php.d/imagick.ini extension=imagick.so
確認
次のコマンドで、レスポンスがあればOK。
$ php -m | grep imagick imagick
Webで使ってる場合には、FastCGIとかを再起動しておきましょう。phpinfo() で確認しておくと確実ですね。
その他
参考サイト
ほぼ、こちらで紹介されてた手順でいけました。
考慮すべきは、SCL使ってた点だけですかね。
無いと判断した手順
こんな感じで探してみたら、該当しそうなパッケージ名がなかったので前述作業を実施しました。
$ sudo yum list | grep [mM]agick ImageMagick.i686 6.5.4.7-7.el6_5 @rhel-x86_64-server-6 ImageMagick.x86_64 6.5.4.7-7.el6_5 rhel-x86_64-server-6 ImageMagick-c++.i686 6.5.4.7-7.el6_5 rhel-x86_64-server-optional-6 ImageMagick-c++.x86_64 6.5.4.7-7.el6_5 rhel-x86_64-server-6 ImageMagick-c++-devel.i686 6.5.4.7-7.el6_5 rhel-x86_64-server-optional-6 ImageMagick-c++-devel.x86_64 6.5.4.7-7.el6_5 rhel-x86_64-server-optional-6 ImageMagick-devel.i686 6.5.4.7-7.el6_5 rhel-x86_64-server-optional-6 ImageMagick-devel.x86_64 6.5.4.7-7.el6_5 rhel-x86_64-server-optional-6 ImageMagick-doc.x86_64 6.5.4.7-7.el6_5 rhel-x86_64-server-optional-6 ImageMagick-perl.x86_64 6.5.4.7-7.el6_5 rhel-x86_64-server-optional-6