Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Guide - Enable imagick on PHP7

Guide

Note The extension Imagick is now included in Ondrej's PPA. All you need to do now is $ sudo apt-get install php-imagick, and you're done. I'll keep the guide here because a lot of it is still true for other extensions

======

I've installed PHP7 via Ondrej's PPA. He maintains these PPA's on his free time, consider donating

Install dependencies

$ sudo apt-get install php7.0-dev
$ sudo apt-get install pkg-config
$ sudo apt-get install libmagickwand-dev
$ sudo apt-get install imagemagick
$ sudp apt-get install build-essential
# Or
$ sudo apt-get install -y php7.0-dev pkg-config libmagickwand-dev imagemagick build-essential

Download extension

Mikko Koppanen have a PHP 7 compatible build of imagick. Be sure to download the phpseven branch (We're doing that below). I suppose you could clone the repo if you want the latest changes available more easily

I usually create a download directory for temporary downloads

mkdir downloads
$ cd downloads
$ wget https://github.com/mkoppanen/imagick/archive/phpseven.zip

Unzip it:

$ unzip phpseven.zip

Cd into it

$ cd imagick-phpseven

Make extension

Phpize it

$ phpize

Configure it and run make

$ ./configure
$ make
$ sudo make install

Tell PHP about the extension (Modified steps from Fideloper's guide for sphinx)

$ echo "extension=imagick.so" | sudo tee /etc/php/mods-available/imagick.ini

# Symlink it to fpm
$ sudo ln -s /etc/php/mods-available/imagick.ini /etc/php/7.0/fpm/conf.d/20-imagick.ini

# Symlink it to cli
$ sudo ln -s /etc/php/mods-available/imagick.ini /etc/php/7.0/cli/conf.d/20-imagick.ini

# Reload php-fpm
sudo service php7.0-fpm reload

Done!

@collmomo

This comment has been minimized.

Copy link

collmomo commented Jan 31, 2016

nice guide. Don't forget to install sudo apt-get install php-dev for phpize for php7. Also deleting php5-dev for any confusion sudo apt-get --purge remove php5-dev and if you don't use php fpm reload this way sudo service apache2 restart.

Thanks for the guide.

@jangsoopark

This comment has been minimized.

Copy link

jangsoopark commented Feb 29, 2016

In Install dependencies
sudp apt-get install build-essential [x] => sudo apt-get install build-essential

@filatoff

This comment has been minimized.

Copy link

filatoff commented Apr 7, 2016

Its great guide. Thanks!

@metisast

This comment has been minimized.

Copy link

metisast commented Apr 18, 2016

nice guide, but remove fisrt tell $ echo "extension=imagick.so" | sudo tee /etc/php/mods-available/imagick.ini on
$ echo "extension=imagick.so" | sudo tee /etc/php/**7.0/**mods-available/imagick.ini

@matrunchyk

This comment has been minimized.

Copy link

matrunchyk commented May 17, 2016

nice guide, but remove fisrt tell

And not the first only. The second and third line has the error as well. Please fix it

@karborator

This comment has been minimized.

Copy link

karborator commented Jun 15, 2016

CentOS way ?

@jaymecd

This comment has been minimized.

Copy link

jaymecd commented Jun 19, 2016

After install on alpine:3.4 (php:7.0.7) got SegFault:

# php --ri imagick; echo "Exit Code: $?"

imagick

imagick module => enabled
imagick module version => @PACKAGE_VERSION@
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
Imagick compiled with ImageMagick version => ImageMagick 6.9.4-1 Q16 x86_64 2016-05-16 http://www.imagemagick.org
Imagick using ImageMagick library version => ImageMagick 6.9.4-1 Q16 x86_64 2016-05-16 http://www.imagemagick.org
ImageMagick copyright => Copyright (C) 1999-2016 ImageMagick Studio LLC
ImageMagick release date => 2016-05-16
ImageMagick number of supported formats:  => 217
ImageMagick supported formats => 3FR, AAI, AI, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, FAX, FITS, FRACTAL, FTS, G3, GIF, GIF87, GRADIENT, GRAY, GROUP4, GV, H, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, JNG, JNX, JPE, JPEG, JPG, JPS, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WEBP, WMV, WPG, X3F, XBM, XC, XCF, XPM, XPS, XV, YCbCr, YCbCrA, YUV

Directive => Local Value => Master Value
imagick.locale_fix => 0 => 0
imagick.skip_version_check => 0 => 0
imagick.progress_monitor => 0 => 0
Segmentation fault
Exit Code: 139

version from PECL has same issue

@tixastronauta

This comment has been minimized.

Copy link

tixastronauta commented Jan 16, 2017

Any hint on installing on CentOS/Amazon Linux?

@roza2404

This comment has been minimized.

Copy link

roza2404 commented Jun 30, 2017

After executing these commands following error is occurred and i am using ubuntu16.04 please help me thank you! please help me

/home/desktop/download/imagick-phpseven/imagick_helpers.c: In function ‘php_imagick_progress_monitor_callable’:
/home/desktop/download/imagick-phpseven/imagick_helpers.c:96:5: error: ‘zend_fcall_info {aka struct _zend_fcall_info}’ has no member named ‘function_table’
fci.function_table = EG(function_table);
^
/home/desktop/download/imagick-phpseven/imagick_helpers.c:111:5: error: ‘zend_fcall_info {aka struct _zend_fcall_info}’ has no member named ‘symbol_table’
fci.symbol_table = NULL;
^
Makefile:204: recipe for target 'imagick_helpers.lo' failed
make: *** [imagick_helpers.lo] Error 1

@oimtrust

This comment has been minimized.

Copy link

oimtrust commented Feb 23, 2018

Please, how to install on Mac OS?

@Delivator

This comment has been minimized.

Copy link

Delivator commented Sep 20, 2018

Typo in https://gist.github.com/nivv/5d9a12af5472b91606e6#install-dependencies
Second last command you wrote sudp :)

@raulferras

This comment has been minimized.

Copy link

raulferras commented Jan 18, 2019

@pierrototo

This comment has been minimized.

Copy link

pierrototo commented Jan 25, 2019

Hi !

You should replace your :
wget https://github.com/mkoppanen/imagick/archive/phpseven.zip
by :
pecl install imagick-beta

It normally solved the issue.

Best regards,

@eplt

This comment has been minimized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.