Imagick Not Loaded in PHP

15,034

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

SO source post

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

SO source post

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
Share:
15,034
Mustafa Mansoor
Author by

Mustafa Mansoor

I am a web developer. I am currently working on PHP, MySQL, jQuery

Updated on June 04, 2022

Comments

  • Mustafa Mansoor
    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
      Álvaro González over 10 years
      Your also run the code through terminal?
    • Mave
      Mave over 10 years
      Have you restarted the web server?
    • silentw
      silentw over 10 years
      Probably you haven't altered your php.ini
    • Mustafa Mansoor
      Mustafa Mansoor over 10 years
      I have altered php.ini and added "extension=imagick.so" and also restarted web server but no change.
    • Mustafa Mansoor
      Mustafa Mansoor over 10 years
      I 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/Imag‌​ick.so
    • Gadoma
      Gadoma over 10 years
      can you provide php code that results in "class imagick not found" ?
  • Mustafa Mansoor
    Mustafa Mansoor over 10 years
    Still i am facing the same issue. php.ini not loading imagick extension
  • Gadoma
    Gadoma over 10 years
    did you check the extension path ?
  • Mustafa Mansoor
    Mustafa Mansoor over 10 years
    I 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
    Mustafa Mansoor over 10 years
    yeah i did check path, and its the same
  • Gadoma
    Gadoma over 10 years
    how 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
    Gadoma over 10 years
    check out this post for thread safety stackoverflow.com/questions/1623914/…
  • Mustafa Mansoor
    Mustafa Mansoor over 10 years
    If i had safe thread issue, i dont think i would get reply from php -i as imagick enabled
  • Gadoma
    Gadoma over 10 years
    Is 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
    Mustafa Mansoor over 10 years
    phpize -v shows PHP Api Version: 20090626 Zend Module Api No: 20090626 Zend Extension Api No: 220090626
  • Gadoma
    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.