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 |
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント