修复损坏的libsodium php安装Ubuntu Xenial

时间:2017-10-03 16:47:18

标签: php ubuntu libsodium sodium

libsodium WAS工作正常,但现在我设法打破它并且无法找到如何破坏它。

安装了亚马逊AWS Ubuntu Xenial,安装了libsodium18,安装了Ondrej Sury PPA的php-sodium,但我现在没有工作了:

未定义的常数'钠\ CRYPTO_SECRETBOX_NONCEBYTES'

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

2 个答案:

答案 0 :(得分:2)

找到它。

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

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

我真的希望这篇文章可以帮助别人避免过去24小时内我所怀疑的悲伤,我想知道我会做什么......这可能是唯一的事情在互联网上实际上指出了这一变化,谷歌发现......

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

答案 1 :(得分:0)

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

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

但是,使用此polyfill不能使用新的libsodium API。

对不起,我无法维护这两个版本。我希望我们可以继续使用原始的命名空间版本。