首页 > 解决方案 > Ubuntu上的PHP扩展目录

问题描述

我刚刚按照这个脚本安装了 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 0

PHP 正在此目录中寻找扩展/usr/lib/php/20170718/

该目录存在,但 imagick.so 不在其中。另一方面,如前所述,还有/usr/lib/php/20180731/包含 imagick.so 文件的目录。

我想我必须告诉 PHP 查看 20180731 目录而不是 20170718。

我怎样才能做到这一点 ?

或者我应该手动将 imagick.so 文件复制到 20170718 中?这似乎不是最佳选择...

谢谢 !

标签: phpubuntu

解决方案


也许你应该试试这个php-config --extension-dir

如果php-config不存在,那么apt-get install php-config

该命令将提供php扩展文件夹的确切位置。

不要忘记更改您php.ini的以便使用扩展程序。


推荐阅读