Imagick Not Loaded in PHP
Solution 1
Possible solution:
Double check the paths and php configuration - you might have the imagick.so file in another directory, not the one php is looking for extensions in ?
1) Locate the proper php.ini file - in your phpinfo() page it is pointed which php.ini is actually in use.
2) Make sure you have imagick.so in proper extension dir (the one php really uses). To check the actual path use:
php-config --extension-dir
3) if (1) and (2) are OK, enable the extension in php.ini
extension=imagick.so
4) restart web server, the imagick should be present (loaded) in phpinfo()
Remark #1
Bear in mind that the following also apply
Your extension should compatible with your PHP server in three main attributes:
1- The Zend API number which your PHP server is configured with ( in phpinfo() you can find this number), this number should be the same with your extension header file at build time.
2- The compiler version on your PHP server and your extension must be the same.
3- Thread safety in your PHP server is important. If you use thread-safe server then your extension must be built with php thread-safe library and if you use non-thread safe server you should build your extension with PHP-nts library.
Remark #2
Keep in mind that if an .so file is corrupt, is improper in other ways (incorrect file structure) or depends on files that are missing or not available for load - the extension will not be loaded and made available.
Remark #3
Note that the "php -m" shows modules compiled into php, not the loaded extensions. Try the below for more detailed information:
php -i
EDIT
The provided php error
Module compiled with module API=20090626
PHP compiled with module API=20121212
clearly indicates that you have the module compiled with improper API version that does not match the php. You will need to build the PHP extension manually. The extension you've ended up with seems to be built against a different version of PHP, not your current PHP 5.5.
There are numerous tutorials concerning this topic, just remember to use the proper version of imagick and phpize. This should help you out: http://wiki.dreamhost.com/ImageMagick_and_imagick_php_module_on_shared_hosting
Solution 2
Restart php
service php5-fpm restart
Mustafa Mansoor
I am a web developer. I am currently working on PHP, MySQL, jQuery
Updated on June 04, 2022Comments
-
Mustafa Mansoor almost 2 years
I have installed Imagick on Ubuntu 12.04 but still i get
Class 'Imagick' not found
When I check through terminal
php -m
I get
[PHP Modules] bcmath bz2 calendar Core ctype date dba dom ereg exif fileinfo filter ftp gettext hash iconv imagick json libxml mbstring mhash openssl pcntl pcre PDO Phar posix readline Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zip zlib [Zend Modules]
but when i check loaded extension through PHP script
get_loaded_extensions()
I am not getting imagick
Array ( [0] => Core [1] => date [2] => ereg [3] => libxml [4] => openssl [5] => pcre [6] => sqlite3 [7] => zlib [8] => bcmath [9] => bz2 [10] => calendar [11] => ctype [12] => curl [13] => dba [14] => dom [15] => hash [16] => fileinfo [17] => filter [18] => ftp [19] => gd [20] => gettext [21] => SPL [22] => iconv [23] => session [24] => intl [25] => json [26] => ldap [27] => mbstring [28] => mcrypt [29] => mssql [30] => standard [31] => mysqlnd [32] => mysqli [33] => mysql [34] => PDO [35] => pdo_mysql [36] => pdo_pgsql [37] => pdo_sqlite [38] => Phar [39] => posix [40] => Reflection [41] => imap [42] => shmop [43] => SimpleXML [44] => soap [45] => sockets [46] => exif [47] => sybase_ct [48] => sysvsem [49] => sysvshm [50] => tokenizer [51] => wddx [52] => xml [53] => xmlreader [54] => xmlwriter [55] => xsl [56] => zip [57] => apache2handler [58] => mhash )
php -i displays
imagick module => enabled imagick module version => 3.2.0RC1 imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator ImageMagick version => ImageMagick 6.6.9-7 2012-08-17 Q16 http://www.imagemagick.org ImageMagick copyright => Copyright (C) 1999-2011 ImageMagick Studio LLC ImageMagick release date => 2012-08-17 ImageMagick number of supported formats: => 206 ImageMagick supported formats => 3FR, A, AAI, AI, ART, ARW, AVI, AVS, B, BGR, BGRA, BMP, BMP2, BMP3, BRF, C, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FITS, FRACTAL, FTS, G, G3, GIF, GIF87, GRADIENT, GRAY, GROUP4, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, ICB, ICO, ICON, INFO, INLINE, IPL, ISOBRL, J2C, JNG, JP2, JPC, JPEG, JPG, JPX, K, K25, KDC, LABEL, M, M2V, M4V, MAC, MAP, MAT, MATTE, MIFF, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NULL, O, ORF, OTB, OTF, PAL, PALM, PAM, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG24, PNG32, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, R, RADIAL-GRADIENT, RAF, RAS, RGB, RGBA, RGBO, RLA, RLE, SCR, SCT, SFW, SGI, SHTML, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UIL, UYVY, VDA, VICAR, VID, VIFF, VST, WBMP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, Y, YCbCr, YCbCrA, YUV Directive => Local Value => Master Value imagick.locale_fix => 0 => 0 imagick.progress_monitor => 0 => 0
getting this error in PHP log
PHP Warning: PHP Startup: imagick: Unable to initialize module Module compiled with module API=20090626 PHP compiled with module API=20121212
-
Álvaro González over 10 yearsYour also run the code through terminal?
-
Mave over 10 yearsHave you restarted the web server?
-
silentw over 10 yearsProbably you haven't altered your
php.ini
-
Mustafa Mansoor over 10 yearsI have altered php.ini and added "extension=imagick.so" and also restarted web server but no change.
-
Mustafa Mansoor over 10 yearsI am using XAMPP 1.8.3 (PHP 5.5.6). .so file is placed in /opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/Imagick.so
-
Gadoma over 10 yearscan you provide php code that results in "class imagick not found" ?
-
-
Mustafa Mansoor over 10 yearsStill i am facing the same issue. php.ini not loading imagick extension
-
Gadoma over 10 yearsdid you check the extension path ?
-
Mustafa Mansoor over 10 yearsI am not sure weather i am using php thread-safe library or not as well as not sure about extension also that it is thread-safe or not. Can you please tell me how to check it?
-
Mustafa Mansoor over 10 yearsyeah i did check path, and its the same
-
Gadoma over 10 yearshow did you install imagick in the first place ? did you do "sudo apt-get install imagemagick" first and than "sudo apt-get install php5-imagick" ?
-
Gadoma over 10 yearscheck out this post for thread safety stackoverflow.com/questions/1623914/…
-
Mustafa Mansoor over 10 yearsIf i had safe thread issue, i dont think i would get reply from php -i as imagick enabled
-
Gadoma over 10 yearsIs imagick present in phpinfo at all ? If still no luck, check apache error log for any related errors, maybe you will find some usefull info (like "PHP Warning: PHP Startup: Unable to load dynamic library ...")
-
Mustafa Mansoor over 10 yearsphpize -v shows PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626
-
Gadoma over 10 years@MustafaMansoor you should accept and +1 the answer as it pins down the exact cause of your problem. For a further solution you can try the suggested tutorial or you need to ask another question.