CentOS7 remi-php7とphp7用のimagemagickのインストールをyumで


適当にやったらうまく行かなかったので、メモ。

## 環境

自分は、CentOS7 remi-php7.0でphp環境を作っている

> remiでphpの環境を作るのはここが参考になります。：[CentOS6／CentOS7にPHP5.6／PHP7をyumでインストール](https://qiita.com/ozawan/items/caf6e7ddec7c6b31f01e)

* phpのimagickは、ImageMagickのver6を使っていて、6.9.x以上じゃないとダメっぽい。

```
[vagrant@dev]$ pecl search imagick

Matched packages, channel pecl.php.net:
=======================================
Package Stable/(Latest) Local
imagick 3.4.3 (stable)  3.4.3 Provides a wrapper to the ImageMagick library.

```

## centos7のbaseレポジトリで探してもない

* centos7のbaseレポジトリでは、ImageMagickは、6.7.8.9しかない。

```
[vagrant@dev]$ yum info imagemagick

// 省略
利用可能なパッケージ
名前                : ImageMagick
アーキテクチャー    : i686
バージョン          : 6.7.8.9
リリース            : 15.el7_2
// 省略
名前                : ImageMagick
アーキテクチャー    : x86_64
バージョン          : 6.7.8.9
リリース            : 15.el7_2
容量                : 2.1 M
```

## なので、remiをenableにして複数バージョンのrpmを表示する

探したいものが見つかる。

```
[vagrant@dev]$ yum search imagemagick --showduplicates --enablerepo=remi
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
// 省略
ImageMagick6-devel-6.9.9.25-1.el7.remi.x86_64 : Library links and header files for ImageMagick app development
ImageMagick6-devel-6.9.9.26-1.el7.remi.x86_64 : Library links and header files for ImageMagick app development
ImageMagick6-devel-6.9.9.26-1.el7.remi.x86_64 : Library links and header files for ImageMagick app development
ImageMagick6-djvu-6.9.9.25-1.el7.remi.x86_64 : DjVu plugin for ImageMagick
ImageMagick6-djvu-6.9.9.26-1.el7.remi.x86_64 : DjVu plugin for ImageMagick
ImageMagick6-doc-6.9.9.25-1.el7.remi.x86_64 : ImageMagick html documentation
ImageMagick6-doc-6.9.9.26-1.el7.remi.x86_64 : ImageMagick html documentation
ImageMagick6-libs-6.9.9.25-1.el7.remi.x86_64 : Commands for ImageMagick
ImageMagick6-libs-6.9.9.26-1.el7.remi.x86_64 : Commands for ImageMagick
ImageMagick6-libs-6.9.9.26-1.el7.remi.x86_64 : Commands for ImageMagick
ImageMagick6-perl-6.9.9.25-1.el7.remi.x86_64 : ImageMagick perl bindings
// 省略
ImageMagick7-doc-7.0.7.14-1.el7.remi.x86_64 : ImageMagick html documentation
ImageMagick7-libs-7.0.7.13-1.el7.remi.x86_64 : Commands for ImageMagick
ImageMagick7-libs-7.0.7.14-1.el7.remi.x86_64 : Commands for ImageMagick
ImageMagick7-perl-7.0.7.13-1.el7.remi.x86_64 : ImageMagick perl bindings
// 省略ImageMagick-6.7.8.9-15.el7_2.x86_64 : An X application for displaying and manipulating images
ImageMagick6-6.9.9.25-1.el7.remi.x86_64 : An X application for displaying and manipulating images
ImageMagick6-6.9.9.26-1.el7.remi.x86_64 : An X application for displaying and manipulating images
ImageMagick6-6.9.9.26-1.el7.remi.x86_64 : An X application for displaying and manipulating images
ImageMagick7-7.0.7.13-1.el7.remi.x86_64 : An X application for displaying and manipulating images
// 省略
php54-php-magickwand-1.0.9.2-12.el7.remi.x86_64 : PHP API for ImageMagick
php54-php-pecl-imagick-3.4.3-1.el7.remi.x86_64 : Extension to create and modify images using ImageMagick
php54-php-pecl-imagick-3.4.3-5.el7.remi.x86_64 : Extension to create and modify images using ImageMagick
php55-php-magickwand-1.0.9.2-11.el7.remi.x86_64 : PHP API for ImageMagick
// 省略
php56-php-pecl-imagick-3.4.3-1.el7.remi.x86_64 : Extension to create and modify images using ImageMagick
php56-php-pecl-imagick-3.4.3-5.el7.remi.x86_64 : Extension to create and modify images using ImageMagick
php70-php-pecl-imagick-3.4.3-1.el7.remi.x86_64 : Extension to create and modify images using ImageMagick
// 省略
php72-php-pecl-imagick-3.4.3-4.el7.remi.x86_64 : Extension to create and modify images using ImageMagick
php72-php-pecl-imagick-3.4.3-5.el7.remi.x86_64 : Extension to create and modify images using ImageMagick
```

こんな。



## 合いそうなやつを選んでinstall

```
yum install ImageMagick6-6.9.9.26 ImageMagick6-devel-6.9.9.26 --enablerepo=remi
```

## peclのimagickモジュールは、rpmから入れないで、peclコマンドから入れる

```
pecl install imagick
```

## php.iniに読み込みを追加して

CentOS7はextensionごとにファイルが分かれてる

```/etc/php.d/20-imagick.ini
extension=imagick.so
```

## Apache再起動

```
systemctl restart httpd
```

## サンプルスクリプトを動かしてみると動いた。

こちらを使わせてもらいました。
[CentOSでPHPのImageMagickラッパーライブラリ、PECL::imagickを入れてWebPで出力してみる](https://qiita.com/kimama1997/items/3c60277f431377ebe06a#とりあえず動作確認してみよう)