動作環境
- CentOS7
- PHP 7.2.6
- Laravel 5.5
注意点
installするパッケージのURLが頻繁に変わる可能性があるため、以下を参照しながらインストールしてください
1. imageMagickのインストール
まず、CentOS7本体にImageMagickをインストールします。
-
imageMagickの依存関係であるパッケージをインストール
# openjpeg2 # imageMagick-develインストールのために必要 $ yum install https://rpmfind.net/linux/mageia/distrib/cauldron/x86_64/media/core/release/lib64openjp2_7-2.3.0-2.mga7.x86_64.rpm $ yum install http://springdale.math.ias.edu/data/puias/computational/7/x86_64/openjpeg2-devel-2.1.0-7.sdl7.x86_64.rpm $ yum install fftw3 $ yum install libXt $ yum install libtool-ltdl
-
imageMagickのインストール
# imageMagick-libs $ yum install https://imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-libs-7.0.8-12.x86_64.rpm # imageMagick $ yum install https://imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-7.0.8-12.x86_64.rpm # imageMagick-devel $ yum install https://imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-devel-7.0.8-12.x86_64.rpm
-
以下のコマンドを叩いて、バージョンが確認できればOK
$ convert -version Version: ImageMagick 7.0.8-12 Q16 x86_64 2018-09-23 https://imagemagick.org
Copyright: © 1999-2018 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP
Delegates (built-in): bzlib cairo djvu fftw fontconfig fpx freetype gslib jbig jng jp2 jpeg lcms ltdl lzma openexr pangocairo png ps rsvg tiff webp wmf x xml zlib
```
2. Peclをインストールする
PHPにimageMagickをインストールするために必要です
-
peclのインストール
# peclのインストール $ wget http://pear.php.net/go-pear.phar
-
phpで実行するための設定を行う
以下のコマンドを実行した際に設定の確認があるが、Enterを押せばOK
$ php go-pear.phar
3. PHPにImageMagickを適応させる
-
以下のコマンドを実行し、適応させる
$ pecl install imagick
-
php.iniを編集
# このコマンドでphp.iniの場所が確認できます $ php -i | grep "Loaded Configuration File"
# Dynamic Extensionsの項目より下に以下のコードを記述 extension=imagick.so
-
apacheサーバの再起動
$ service httpd restart
-
php-fpmの再起動
$ service php-fpm restart
-
phpにインストールされているかを確認する
$ php -i | grep Imagick imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version => ImageMagick 7.0.8-12 Q16 x86_64 2018-09-23 https://imagemagick.org
Imagick using ImageMagick library version => ImageMagick 7.0.8-12 Q16 x86_64 2018-09-23 https://imagemagick.org
```
```
$ php -i | grep -Ei '^(gd|imagic|gmagic|imagemagick)' | grep enabled
GD Support => enabled
imagick module => enabled
```
intervention/imageのインストール
-
intervention/imageとは?
phpで画像加工ができるライブラリで、ImageMagickまたはGDライブラリを選択して画像加工ができます。
-
composerでインストール
$ composer require intervention/image
-
laravelのapp/config/app.phpに以下を記述
'providers' => [ . . . /* * Package Service Providers... */ # 以下のコードを記述 Intervention\Image\ImageServiceProvider::class, ] 'aliases' => [ . . . 'Image' => Intervention\Image\Facades\Image::class ]
-
Intervention/imageのデフォルトを変更する
Intervention/imageで使用するライブラリのデフォルトがGDなので、変更する
# 設定ファイルを生成する php artisan vendor:publish
config/image.php
に以下の記述を行い、設定する'driver' => 'imagick'
-
intervention/imageの動作確認
<?php . . . use Intervention\Image\Facades\Image; . . . public function convertImage() { $image = Image::make('image.png')->encode('jpg'); $path = public_path() . '.jpg'; $image->save($path); }
以上です。 お疲れ様でした。