首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >debian上的PHP8.1 :未定义符号: crypto_core_ristretto255_scalar_invert

debian上的PHP8.1 :未定义符号: crypto_core_ristretto255_scalar_invert
EN

Stack Overflow用户
提问于 2022-10-07 18:34:55
回答 1查看 136关注 0票数 1

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

代码语言:javascript
运行
复制
$ php --version
php: symbol lookup error: php: undefined symbol: crypto_core_ristretto255_scalar_invert

我遗漏了什么?我一直使用的安装命令:

代码语言:javascript
运行
复制
$ 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的其他信息

代码语言:javascript
运行
复制
$ 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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-12 17:44:32

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

代码语言:javascript
运行
复制
/usr/local/lib/libsodium.so.23.2.0
/usr/lib/x86_64-linux-gnu/libsodium.so.23.3.0

libsodium.so.23.2.0不像libsodium.so.23.3.0那样支持crypto_core_ristretto255_scalar_invert

为了让PHP8.1使用libsodium.so.23.3.0,我不得不删除初始的softlink /usr/local/lib/libsodium.so.23 (参见初始帖子中的ldd输出)。

现在PHP8.1使用最新的库(不使用其他命令):

代码语言:javascript
运行
复制
$ ldd /usr/bin/php8.1 | grep sodium
        libsodium.so.23 => /usr/lib/x86_64-linux-gnu/libsodium.so.23 (0x00007f07bc320000)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73991378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档