Reputation: 1164
I've just installed the imagick PHP extension following this script: https://gist.github.com/rostockahoi/1d53a2efb8863d72d5f1acb94ae940d1
The install went fine. I found the imagick.so file in /usr/lib/php/20180731 directory. And my php.ini files (fpm and cli) have the extension=imagick.so at the end.
I've restarted PHP and nginx.
Though, PHP cannot find the extension. Look at this CLI test :
$ php -i
$ PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib/php/20170718/imagick.so (/usr/lib/php/20170718/imagick.so: cannot open shared object file: No such file or directory), /usr/lib/php/20170718/imagick.so.so (/usr/lib/php/20170718/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP is looking for extensions in this directory /usr/lib/php/20170718/
This dir exists but the imagick.so is not in it.
On the other hand, as said before, there is also the directory /usr/lib/php/20180731/
with the imagick.so file in it.
I guess I have to tell PHP to look into the 20180731 dir instead of the 20170718.
How can I do that ?
Or should I copy manually the imagick.so file into 20170718 ? That does not seem optimal...
thanks !
Upvotes: 0
Views: 4331
Reputation: 1164
I finally used another single command to install imagick and everything is fine.
sudo apt-get install php-imagick
The imagick.so has been installed in all /usr/lib/php/YYYYMMDD/
directories.
Much simpler !
Upvotes: 0
Reputation: 422
Maybe you should try this php-config --extension-dir
If php-config
doesn't exist, then apt-get install php-config
That command will give exact location of your php
extension folder.
Don't forget to change your php.ini
in order to use extensions.
Upvotes: 2