【问题标题】:Fix broken libsodium php installation Ubuntu Xenial修复损坏的 libsodium php 安装 Ubuntu Xenial
【发布时间】:2017-10-03 16:47:18
【问题描述】:

libsodium 工作正常,但现在我设法破解它,但找不到如何破解它。

Amazon AWS Ubuntu Xenial,安装了 libsodium18,安装了来自 Ondrej Sury PPA 的 php-sodium,但我现在得到的是:

未定义的常量'Sodium\CRYPTO_SECRETBOX_NONCEBYTES'

令人讨厌的是它在 Zesty 中很好,但仍然没有稳定的 AWS Zesty 图像。我确定我只是忘记了一些简单的事情,但它刚刚停止工作。

【问题讨论】:

标签: php ubuntu libsodium sodium


【解决方案1】:

找到了。

PHP 钠函数名称已更改,因此您现在必须调用 sodium_crypto_secretbox_open()

,而不是调用 \Sodium\crypto_secretbox_open()

我真诚地希望这篇文章能帮助人们避免过去 24 小时内的悲伤谷歌发现...

修改后的函数名和常量都列在https://paragonie.com/book/pecl-libsodium/read/01-quick-start.md

【讨论】:

    【解决方案2】:

    项目描述解释了这些变化背后的原因:https://github.com/jedisct1/libsodium-php

    还有一个提供旧接口的polyfill:https://github.com/mollie/polyfill-libsodium

    但是,使用此 polyfill 无法使用新的 libsodium API。

    抱歉,我无法同时维护这两个版本。我希望我们可以继续使用原来的命名空间版本。

    【讨论】:

    • 我理解原因——我认为是因为它正在合并到 PHP V7.2 中,这是一件很棒的事情,完全没有问题,非常欢迎!只是唯一提到开发人员可以轻松/快速找到的更改可能是这篇文章......无论如何,作为 StackOverflow,这篇文章在谷歌搜索结果中的“php 钠破碎”中占据了相当高的位置,所以运气问题解决了:D期待V7.2
    猜你喜欢
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    相关资源
    最近更新 更多