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

MacOS与Windows下XAMPP使用libsodium加密失效问题求助

解决跨平台XAMPP下libsodium加密功能失效的问题

嘿,我来帮你理清楚这个问题,你遇到的情况在跨平台开发里挺常见的,咱们一步步来解决:

核心结论先给你

Windows端必须单独配置libsodium扩展,和Mac端的情况不一样——Mac的XAMPP可能默认打包了libsodium,或者你系统安装的libsodium能被XAMPP的PHP识别,但Windows的XAMPP是独立的封闭环境,完全不会依赖系统安装的库,所以得手动配置。

1. 关于php.ini的配置

  • 没错,你需要在Windows的XAMPP对应的php.ini里启用libsodium扩展:
    • 如果你的PHP版本是7.2及以上,添加(或者取消注释)这一行:extension=sodium(注意是sodium,不是libsodium,PHP 7.2+把扩展名简化了)
    • 如果是PHP 7.1及以下,才需要写extension=libsodium
    • 怎么找到php.ini?打开XAMPP控制面板,点Apache模块的「Config」按钮,选「PHP (php.ini)」,直接在文件里搜extension=相关的行,找到对应项去掉前面的;,没有的话就手动加一行在扩展列表里。

2. libsodium文件的放置(重点!)

Windows下不能依赖系统环境,必须把对应的库文件放到XAMPP的目录里:

  • 先确认你XAMPP里PHP的版本(比如8.1、7.4)和架构(32/64位),然后下载完全匹配的libsodium预编译扩展包
  • 把包里的php_sodium.dll(或者对应版本的扩展文件)放到XAMPP的php\ext目录下
  • 另外还要把包里的libsodium.dll(系统级的运行库)放到XAMPP的php目录,或者apache\bin目录里——这样Apache启动时才能加载到这个依赖库
  • 划重点:版本不匹配的话,扩展肯定加载失败,一定要对应好PHP的版本和位数!

3. 验证配置是否成功

  • 重启XAMPP的Apache服务(必须重启,不然配置不生效)
  • 在XAMPP的htdocs目录里新建一个phpinfo.php,内容写:
    <?php phpinfo(); ?>
    
  • 浏览器访问http://localhost/phpinfo.php,页面里搜索「sodium」,如果能看到完整的扩展信息模块,就说明配置成功了,这时候加密功能应该就能正常工作了。

额外小提示

Mac端之所以不用配置,大概率是因为你的XAMPP版本默认已经集成了libsodium扩展,或者你系统安装的libsodium被XAMPP的PHP环境识别到了,但Windows的XAMPP没有这个默认配置,所以必须手动操作。

内容的提问来源于stack exchange,提问作者eL-Prova

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:03:59