EC2(Amazon Linux2)上でphpからImageMagick使用する

EC2(Amazon Linux2)上でphpからImageMagick使用する

phpでImageMagick使う為にEC2(Amazon Linux2)にhttpd,phpとImageMagick,php拡張モジュールであるimagickをインストールしていきます。

Apacheインストール

Apacheをインストールします。

[root@ip-10-1-0-208 ec2-user]# yum -y install httpd
[root@ip-10-1-0-208 imagick-3.4.3]# httpd -v
Server version: Apache/2.4.46 ()
Server built: Aug 24 2020 18:54:20

ImageMagickインストール

ImageMagickをインストールします。

[root@ip-10-1-0-208 ec2-user]# yum -y install ImageMagick

ver6系がインストールされるのでconvertコマンドで確認します。(ver7系はmagickコマンド)

[root@ip-10-1-0-208 ec2-user]# convert --version
Version: ImageMagick 6.9.10-68 Q16 x86_64 2021-02-02 https://imagemagick.org
Copyright: © 1999-2019 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC Modules OpenMP(4.5)
Delegates (built-in): bzlib cairo fontconfig freetype gslib jng jp2 jpeg lcms ltdl lzma openexr pangocairo png ps rsvg tiff wmf x xml zlib

imagickインストール(php拡張モジュール)

php-pearをインストールし、peclコマンドからimagickをインストールしてみます。

[root@ip-10-1-0-208 ec2-user]# yum -y install php php-pear php-devel

peclコマンドでimagickをインストールしようとしたのですが、エラーが出てしまったので、ソースからインストールをします。

[root@ip-10-1-0-208 ~]# wget http://pecl.php.net/get/imagick-3.4.3.tgz
...
[root@ip-10-1-0-208 ~]# tar xvfz imagick-3.4.3.tgz
...

解凍できたらImageMagick-develをインストールします。

yum -y install ImageMagick-devel gcc

その後、cdコマンドで移動してコンパイル、インストールします。

[root@ip-10-1-0-208 ~]# cd ./imagick-3.4.3
[root@ip-10-1-0-208 ~]# phpize
[root@ip-10-1-0-208 ~]# ./configure
[root@ip-10-1-0-208 ~]# make
[root@ip-10-1-0-208 ~]# make test
[root@ip-10-1-0-208 ~]# make install

iniファイル作成

/etc/php.d/配下にiniファイルを作成します。

名前は何でも良いですがここではimagick.iniとします。

[root@ip-10-1-0-208 php.d]# pwd
/etc/php.d
[root@ip-10-1-0-208 php.d]# vi imagick.ini

imagick.iniのファイル内容

extension=imagick.so

この1行だけ追記します。httpdを再起動して反映させます。

[root@ip-10-1-0-208 php.d]# service httpd restart
[root@ip-10-1-0-208 php.d]# php -v
PHP 5.4.16 (cli) (built: Oct 31 2019 18:34:05)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

警告やエラーが表示されず正常にバージョンが表示されればimagick.soが読み込まれています。

/usr/lib64/php/modules/配下にimagick.soがあるはずです。

[root@ip-10-1-0-208 modules]# ls -l /usr/lib64/php/modules/ | grep imagick
-rwxr-xr-x 1 root root 1404928 May 8 01:04 imagick.so

これでphpからImageMagickが使えるようになります。

ghostscript削除

yumでインストールした際に依存関係でghostscriptがインストールされてしまった場合などで、ghostscriptを使用していない場合は削除しておきます。

ghostscriptはGPL(AGPL)ライセンスの為です。

rpmコマンドで削除します。

[root@ip-10-1-0-208 ~]# rpm -qa | grep -i ghostscript
ghostscript-fonts-5.50-32.~~
ghostscript-9.06-8..~~
[root@ip-10-1-0-208 ~]# rpm -ev --nodeps ghostscript ghostscript-fonts
[root@ip-10-1-0-208 ~]# rpm -qa | grep -i ghostscript
[root@ip-10-1-0-208 ~]#

これでアンインストールされ、gsコマンドが使えなくなっているはずです。

ソフト バージョン
Apache 2.4.46
ImageMagick 6.9.10
imagick 3.4.3

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました