我刚刚按照以下脚本安装了imagick PHP扩展:https://gist.github.com/rostockahoi/1d53a2efb8863d72d5f1acb94ae940d1
安装进行得很顺利。我在/usr/lib/php/20180731目录中找到了imagick.so文件。我的php.ini文件(fpm和cli)的末尾有extension=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 0PHP正在这个目录/usr/lib/php/20170718/中寻找扩展。
此目录存在,但imagick.so不在其中。另一方面,如前所述,还有一个包含imagick.so文件的目录/usr/lib/php/20180731/。
我想我必须告诉PHP去查看20180731个目录而不是20170718个目录。
我该怎么做呢?
或者我应该手动将imagick.so文件复制到20170718中?这似乎不是最好的..。
谢谢!
发布于 2019-07-19 23:31:21
也许你应该试试这个php-config --extension-dir
如果php-config不存在,则apt-get install php-config
该命令将给出您的php扩展文件夹的确切位置。
为了使用扩展,别忘了更改你的php.ini。
发布于 2019-07-20 21:31:20
我最终使用了另一个命令来安装imagick,一切都很好。
sudo apt-get install php-imagick
已在所有/usr/lib/php/YYYYMMDD/目录中安装了imagick.so。
简单多了!
https://stackoverflow.com/questions/57115273
复制相似问题