【问题标题】:PHP8.1 on debian: undefined symbol: crypto_core_ristretto255_scalar_invertdebian 上的 PHP8.1:未定义符号:crypto_core_ristretto255_scalar_invert
【发布时间】:2022-10-13 01:44:32
【问题描述】:

我安装了带有一些附加模块的 PHP8.1。调用php --version时显示未定义符号错误:

$ php --version
php: symbol lookup error: php: undefined symbol: crypto_core_ristretto255_scalar_invert

我错过了什么?我一直在使用的安装命令:

$ sudo apt install php8.1
$ sudo apt install php8.1-cli php8.1-common php8.1-curl php8.1-mbstring php8.1-mysql php8.1-xml php8.1-zip libapache2-mod-php php-imagick php-gd php8.1-mysql php8.1-gd

系统:Debian 11.5,内核 5.10

编辑:关于 PHP8.1 的附加信息

$ ldd /usr/bin/php8.1 | grep crypto
        libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f5f05362000)
$ ldd /usr/bin/php8.1 | grep sodium
        libsodium.so.23 => /usr/local/lib/libsodium.so.23 (0x00007fda8ef19000)
$ ll /usr/local/lib/libsodium.so.23
lrwxrwxrwx 1 root staff 19 Mar 10  2019 /usr/local/lib/libsodium.so.23 -> libsodium.so.23.2.0
$ ll /usr/local/lib/libsodium.so.23.2.0
-rwxr-xr-x 1 root staff 2.1M Mar 10  2019 /usr/local/lib/libsodium.so.23.2.0

【问题讨论】:

    标签: php


    【解决方案1】:

    我终于找到了解决方案。我的系统上安装了两个版本的libsodium.so.23

    /usr/local/lib/libsodium.so.23.2.0
    /usr/lib/x86_64-linux-gnu/libsodium.so.23.3.0
    

    libsodium.so.23.2.0 不支持 crypto_core_ristretto255_scalar_invertlibsodium.so.23.3.0 支持。

    为了让 PHP8.1 使用libsodium.so.23.3.0,我必须删除初始软链接/usr/local/lib/libsodium.so.23(请参阅我最初帖子中的ldd 输出)。

    现在 PHP8.1 使用最新的库(没有使用额外的命令):

    $ ldd /usr/bin/php8.1 | grep sodium
            libsodium.so.23 => /usr/lib/x86_64-linux-gnu/libsodium.so.23 (0x00007f07bc320000)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 2012-11-07
      • 2010-09-17
      • 2019-10-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多