donglan8256 2019-07-19 15:11
浏览 514
已采纳

Ubuntu上的PHP扩展目录

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 !

  • 写回答

2条回答 默认 最新

  • douzhixun8393 2019-07-19 15:31
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • dongmei2351 2019-07-20 13:31
    关注

    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 !

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 QT 实现 RSTP 语音对讲功能
  • ¥50 AES魔改之后的安全性关于PRF(相关搜索:密码学)
  • ¥15 用C语言写的一个程序遇到了两个问题第一是偏移正确但读取不到坐标,第二个问题是自己定义的函数实现不了获取指定进程模块。
  • ¥15 在安装Anaconda时总是闪退怎么办?
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥500 抖音主页视频预存加载卡bug
  • ¥15 用汇编语言编写51单片机,定时闹钟程序