我已经按照以下脚本安装了imagick PHP扩展:https://gist.github.com/rostockahoi/1d53a2efb8863d72d5f1acb94ae940d1
安装正常。我在/ usr / lib / php / 20180731目录中找到了imagick.so文件。而且我的php.ini文件(fpm和cli)的扩展名= imagick.so结尾。
我已经重新启动PHP和nginx。
但是,PHP无法找到扩展名。查看此CLI测试:
$ 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正在此目录/usr/lib/php/20170718/
中寻找扩展名
此目录存在,但imagick.so不存在。
另一方面,如前所述,目录/usr/lib/php/20180731/
中也包含imagick.so文件。
我想我必须告诉PHP查看20180731目录而不是20170718。
我该怎么做?
还是应该将imagick.so文件手动复制到20170718中?这似乎不是最佳选择...
谢谢!
答案 0 :(得分:1)
也许您应该尝试这个php-config --extension-dir
如果php-config
不存在,则apt-get install php-config
该命令将提供您php
扩展文件夹的确切位置。
不要忘记更改您的php.ini
以便使用扩展名。
答案 1 :(得分:0)
我终于用另一个命令安装了imagick,一切都很好。
sudo apt-get install php-imagick
imagick.so已安装在所有/usr/lib/php/YYYYMMDD/
目录中。
简单得多!