You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP 8.1 Sodium扩展显示已启用但目录无sodium.iso文件问题

现象原因

这是Ubuntu官方APT源PHP 8.1包的默认打包规则导致的正常情况,不属于配置错误:

  • 首先纠正笔误:PHP动态扩展的文件后缀是.so而非.iso,你在/usr/lib/php/20210902目录找不到sodium.so,是因为Ubuntu打包PHP 8.1时已经把sodium扩展静态编译进PHP核心二进制了,它不是以动态共享对象文件的形式独立存在,自然不会出现在扩展目录中。
  • 找不到对应ini启用配置的原因和静态编译逻辑直接相关:只有以动态.so文件形式存在的扩展,才需要在php.ini或者conf.d目录下添加extension=xxx.so的配置声明才能加载。静态编译进核心的扩展会在PHP启动时默认加载,完全不需要额外配置项,所以你在CLI、FPM、Apache等所有SAPI的配置里都找不到sodium的启用配置。

php.ini里保留的sodium相关注释行,是PHP上游源码自带的示例配置,仅用于动态编译sodium扩展的场景,Ubuntu打包时没有删除这些注释内容而已,不影响实际加载逻辑。

你可以执行以下命令查看所有静态编译进PHP核心的扩展列表,就能看到sodium在返回结果中:
php -r "print_r(get_loaded_extensions(true));"

内容的提问来源于stack exchange,提问作者Fakhar Anwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 08:25:30