ImageMagick is a free open source simple software suite for any kind of image manipulation that is used for creating, editing, converting, displaying image files.
It can able to read and write over 200 image files such as JPEG, GIF, PNG, TIFF, and Photo CD image formats and it is also used for thumbnail or captcha generation. It also includes command line options for creating transparent or animated gif image formats and many more feature like resize, sharpen, rotate or add special effects to an image.
To use ImageMagick tool with PHP or Perl programming language, you will need to install ImageMagick with Imagick PHP extension for PHP and ImageMagick-Perl extension for Perl.
Imagick is a simple PHP extension for creating and modifying images using the ImageMagick API program. There is a confusion in name, as people think that ImageMagick and Imagick both are same, but you can use ImageMagick without Imagick extension but you need both installed on your machine to use and run it.
Installing ImageMagick from Repository
First, install following prerequisite php-pear, php-devel and gcc packages to compile imagick PHP extension.
# yum install php-pear php-devel gcc
Once you’ve installed php-pear, php-devel and gcc packages, you may now install ImageMagick software for PHP and Perl support using yum command.
# yum install ImageMagick ImageMagick-devel ImageMagick-perl
Next, verify that ImageMagick has been installed on your system by checking its version.
# convert --version Version: ImageMagick 6.7.8-9 2019-02-01 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC Features: OpenMP
Installing ImageMagick 7 from Source Code
To install ImageMagick from source, you need a proper development environment with a compiler and related development tools. If you don’t have the required packages on your system, install development tools as shown:
# yum groupinstall 'Development Tools' # yum -y install bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel php-devel
Now, download the latest version of ImageMagick source code using following wget command and extract it.
# wget https://www.imagemagick.org/download/ImageMagick.tar.gz # tar xvzf ImageMagick.tar.gz
Configure and compile the ImageMagick source code. Depending on your server hardware specs, this may take some time to finish.
# cd ImageMagick* # ./configure # make # make install
Verify that the ImageMagick compile and install were successful.
# magick -version Version: ImageMagick 7.0.8-28 Q16 x86_64 2019-02-19 https://imagemagick.org Copyright: © 1999-2019 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Cipher DPC HDRI OpenMP Delegates (built-in): bzlib djvu fontconfig freetype jng jpeg lzma openexr pangocairo png tiff wmf x xml zlib
Install Imagick PHP Extension
Next, compile the imagick for PHP extension. To do, simple run the following ‘pecl‘ command. It will install ImageMagick and imagick PHP extension module ‘imagick.so‘ under /usr/lib/php/modules directory. If you are using 64-bit system, the module directory path would be /usr/lib64/php/modules.
# pecl install imagick downloading imagick-3.4.3.tgz ... Starting to download imagick-3.4.3.tgz (245,410 bytes) ...................................................done: 245,410 bytes 19 source files, building running: phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 Please provide the prefix of Imagemagick installation [autodetect] :
Note: It will ask you to provide Imagemagick installation prefix, simply hit enter to auto detect.
Now, add the ‘imagick.so‘ extension to ‘/etc/php.ini‘ file.
echo extension=imagick.so >> /etc/php.ini
Next, restart Apache web server.
# service httpd restart
Verify imagick PHP extension by running the following command. You will see imagick extension similar to below.
# php -m | grep imagick imagick
Alternatively, you can create a file called ‘phpinfo.php‘ under website root directory (ex: /var/www/html/).
# vi /var/www/html/phpinfo.php
Add the following code.
<?php phpinfo (); ?>
Open your favorite web browser and type ‘http://localhost/phpinfo.php‘ or ‘http://ip-addresss/phpinfo.php‘ and verify the imagick extension.