Install ImageMagick (Image Manipulation) Tool on RHEL/CentOS and Fedora

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 features like resize, sharpen, rotate or add special effects to an image.

To use the ImageMagick tool with PHP or Perl programming language, you will need to install ImageMagick with the 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 the 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 the Imagick PHP extension.

# yum install php-pear php-devel gcc 
Install PHP Extensions in CentOS 8

Install PHP Extensions in CentOS 8

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

IMPORTANT: ImageMagick is not available in CentOS/RHEL 8, and it has been replaced with GraphicsMagick instead, which is a fork of ImageMagick.

To install GraphicsMagick on CentOS/RHEL 8, run the following command.

# dnf info GraphicsMagick
# dnf install GraphicsMagick GraphicsMagick-devel GraphicsMagick-perl
Install GraphicsMagick in CentOS 8

Install GraphicsMagick in CentOS 8

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
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    

CentOS/RHEL 8 users, can run the following command to verify the version of GraphicsMagick installed on the system.

# gm version

GraphicsMagick 1.3.33 2019-07-20 Q16
Copyright (C) 2002-2019 GraphicsMagick Group.
Additional copyrights and licenses apply to this software.
See for details.

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 the ImageMagick source code using the following wget command and extract it.

# wget
# 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
Copyright: © 1999-2019 ImageMagick Studio LLC
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, simply run the following ‘pecl‘ command. It will install ImageMagick and imagick PHP extension module ‘‘ under /usr/lib/php/modules directory. If you are using a 64-bit system, the module directory path would be /usr/lib64/php/modules.

Note: It will ask you to provide Imagemagick installation prefix, simply hit enter to auto-detect.

# 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] : 

Now, add the ‘‘ extension to ‘/etc/php.ini‘ file.

echo >> /etc/php.ini

Next, restart Apache webserver.

# service httpd restart

Verify the Imagick PHP extension by running the following command. You will see the Imagick extension similar to below.

# php -m | grep imagick


Install GMagick PHP Extension

Run the following commands to compile and install GMagick PHP Extension.

# cd /usr/local/src
# wget
# tar xfvz gmagick
# cd gmagick-*
# phpize
# ./configure
# make
# make install

Now, add the ‘‘ extension to ‘/etc/php.ini‘ file.

# echo >> /etc/php.ini

Next, restart the Apache webserver.

# systemctl restart httpd

Verify gmagick PHP extension by running the following command.

# php -m | grep gmagick


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.


     phpinfo ();

Open your favorite web browser and type ‘http://localhost/phpinfo.php‘ or ‘http://ip-addresss/phpinfo.php‘ and verify the extension.

Check Imagick Version

Check Imagick Version

Verify Gmagick PHP Extension

Verify Gmagick PHP Extension

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Ravi Saive

I am Ravi Saive, creator of TecMint. A Computer Geek and Linux Guru who loves to share tricks and tips on Internet. Most Of My Servers runs on Open Source Platform called Linux. Follow Me: Twitter, Facebook and Google+

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide
The Complete Linux System Administrator Bundle
Become an Ethical Hacker Bonus Bundle

You may also like...

40 Responses

  1. This worked perfectly. Excellent

  2. Siva says:

    I just found out that ghost script was already installed on the server
    # which gs

  3. Siva says:

    Awesome Article. You solved my problem. thanks a lot.

    • Siva says:

      I have a requirement where i need to convert a pdf to a jpeg thumbnail and i need to do this in php. I already installed imagick ( following ur article steps), do i need to install ghostscript too for converting the pdf to jpeg using a php script ? If I do can you breifly outline how to install ghostscript on centos

  4. Ilian Andreev says:

    Fantastic explanation, fantastic article !!! Thanks !

  5. Mahesh says:

    How to install the latest version of imagemagick?

  6. Andrew says:

    pecl install imagick fails with the following output (on CentOS 5.9 w/ PHP 5.4):

    /var/tmp/imagick/imagick_class.c: In function ‘zim_imagick_setimageprogressmonitor’:
    /var/tmp/imagick/imagick_class.c:9534: error: ‘struct _php_core_globals’ has no member named ‘safe_mode’
    /var/tmp/imagick/imagick_class.c:9534: error: ‘CHECKUID_CHECK_FILE_AND_DIR’ undeclared (first use in this function)
    /var/tmp/imagick/imagick_class.c:9534: error: (Each undeclared identifier is reported only once
    /var/tmp/imagick/imagick_class.c:9534: error: for each function it appears in.)
    /var/tmp/imagick/imagick_class.c:9534: error: ‘CHECKUID_NO_ERRORS’ undeclared (first use in this function)
    make: *** [imagick_class.lo] Error 1
    ERROR: `make’ failed

    Any help would be appreciated.

  7. Amit says:

    while looking into the apache error logs it is giving this error
    mod_fcgid: stderr: PHP Warning: Division by zero in /home/xxx/public_html/xxxx/logo.php on line 216,

  8. Amit says:


    I have done everything accordingly but I am not able to see the imagick extension in phpinfo();

    php -m | grep imagick — it shows that imagick is there but in phpinfo(); it is not shown anywhere….
    nor I am able to run the functions getsize() etc; through my php script.
    Please help

    • Ravi Saive says:

      Have you restarted Apache?

      • Amit says:

        I have restarted several time !!
        Thanks for your reply

        • Ravi Saive says:

          Ok, no need to worry about, if it’s showing via command line, means it installed correctly..

          • Amit says:

            But when trying to upload the image and resize my script is not working !! though my local script is working fine !!

            Any help would be great ….

          • Marty says:

            I ran into a problem that sounds similar to Amit’s. I added to my ini file, but no love. A few thoughts: make sure you have it in the right .ini file (eg: on debian flavoured linux it needs to be in /etc/php5/apache2/…

            also I found that pecl installed the module in /usr/lib/php/modules but my extension_dir was set to /usr/lib64/php/modules/ so i created a symlink and everything started working fine

  9. bakti says:

    Thanks so much!

  10. Hemant says:

    Thanks for completing my request of tutorial on imagick extension…..Thanks again.

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.