さくらのVPSのKUSANAGIでPHP7にimagickをインストール

www.sakura.ad.jp

 というわけで、KUSANAGI使ってみたのだけど、HHVMが意外ともっさりなので、PHP7で使うことにした。ひょっとするとJITが馴染むまで遅いとかそういう話かな?それともメモリの関係?

 PHP7なのだけど、PHPエクステンションのimagickが入ってない。Wordpressはimagickがあれば画像の縮小とかにgdの代わりにImageMagick使用してくれるので使いたい。

 

 で、いろいろ調べてみたのだけど、KUSANAGIってPHP5.6とPHP7とHHVMをインストールしてあって、コマンド一発で切り替えて使えるようになってるわけです。まあなんというか便利。でもそのおかげで、

$pecl install imagick

とかやってもphp5.6の方にしかインストールされなかったりする。

 PHP7用のpeclコマンドは、/usr/local/php7/bin/ に入ってるので、ここに移動して

$./pecl install imagick

とかやるといいみたい。もちろん事前にImageMagickAPI関連はインストールしておく必要があります。

Build process completed successfully
Installing '/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/imagick.so'
Installing '/usr/local/php7/include/php/ext/imagick/php_imagick_shared.h'
install ok: channel://pecl.php.net/imagick-3.4.3RC1
configuration option "php_ini" is not set to php.ini location
You should add "extension=imagick.so" to php.ini

てな感じでちゃんとインストールされたら、 /etc/php7.d/extensions/ の下にimagick.iniというファイルを作成して、中に extension=imagick.soって記述してphp-fpmを再起動。

KUSANAGIの場合、kusanagiコマンドで

$kusanagi php7

とやればphp7のphp-fpmが、

$kusanagi php-fpm

とやればphp5.6のphp-fpmが起動(すでに起動している場合は再起動)するので、間違わないように。