質問: **試したこと** 「ImageMagick6-libs-6」のみインストールしていた環境(CentOS7)へ「ImageMagick-7」と「ImageMagick-libs-7」を新たにインストールしました --- **現状** コマンドで確認 ``` # rpm -qa | grep -i imagemagick ImageMagick-libs-7.0.8-54.x86_64 ImageMagick6-libs-6.9.9.39-1.el7.remi.x86_64 ImageMagick-7.0.8-54.x86_64 # php -i | grep imagick /etc/php.d/40-imagick.ini, imagick imagick module => enabled imagick module version => 3.4.3 ``` PHPで確認 ``` print_r(Imagick::getVersion()); Array ( [versionNumber] => 1689 [versionString] => ImageMagick 6.9.9-39 ) ``` --- **Q1.PHP(Imagick)からのバージョンが変わらないのはなぜですか?** Imagickバージョンが、今回のインストールでアップグレードされるものと思っていたのですが、全く変わりませんでした。Nginx再起動と、php-fpm再起動をしても変わりませんでした。なぜ? **Q2.「ImageMagick 6.9.9」と「imagick module version 3.4.3」の関係性は?** ・Imagickの最新版は3.4.4で、これは「ImageMagick 7」に対応している?? ・3.4.3 を 3.4.4 へアップグレードするには? > > requires ImageMagick version 6.5.3-10+ > > > --- **その他** ・当初、Imagick6をインストールした時のものと思われるコマンド ``` yum -y install --enablerepo=remi --enablerepo=remi-php72 php-opcache php-devel php-fpm php-pecl-imagick ``` ・コマンドからのバージョン確認結果は、ImageMagick 7 です
回答: **短い回答** あなたが過去に`remi`リポジトリから`php-pecl-imagick`をインストールしたのであれば、再度同じリポジトリを参照してアップデートを行うだけだと思います。 ``` $ sudo yum --enablerepo=remi --enablerepo=remi-php72 update php-pecl-imagick ``` **詳しい説明** `ImageMagick6-libs-6.9.9.39-1.el7.remi.x86_64`パッケージは`remi`リポジトリからインストールしたものなので、その他のパッケージもどのリポジトリからインストールしたのかをよく確認する必要があるかと思います。 PHPからImageMagickを呼び出すために必要なライブラリをまとめたのが`php-pecl-imagick`パッケージのようです。このパッケージのバージョンやインストール状況を確認するのであれば、 あなたの実行した`rpm -qa | grep -i imagemagick`では正しい情報を参照できません。 **ファイルがどのパッケージに含まれるのか確認** (デフォルト以外の場所に移動している場合などは正しく表示されない) ``` $ rpm -qf /etc/php.d/40-imagick.ini ``` **インストール済み、利用可能なパッケージ一覧を表示** (外部リポジトリを利用している場合は`--enablerepo`が必要) ``` $ sudo yum list php-pecl-imagick ``` 別質問での回答に含めたサイトでパッケージを検索すると、例えば以下のようなファイルがヒットします。 利用しているPHPのバージョンにも依存するはずなので、適切なパッケージを確認の上インストールしてください。 ``` php-pecl-imagick-3.4.4-1.el7.remi.5.4.x86_64.rpm php-pecl-imagick-3.4.3-9.el7.remi.5.4.x86_64.rpm php72-php-pecl-imagick-3.4.4-1.el7.remi.x86_64.rpm php72-php-pecl-imagick-3.4.3-9.el7.remi.x86_64.rpm ```