libsodium БЫЛ работает нормально, но теперь мне удалось сломать его, и я не могу найти, как его сломать.
Amazon AWS Ubuntu Xenial, libsodium18 установлен, php -odium от PPA Ondrej Sury установлен, но вместо работы я теперь получаю:
Неопределенная константа ‘Sodium \ CRYPTO_SECRETBOX_NONCEBYTES’
Раздражает то, что в Zesty все хорошо, но стабильного образа AWS Zesty пока нет. Я уверен, что я просто забыл простую вещь, но она просто перестала работать.
Нашел это.
Изменены имена функций натрия в PHP, поэтому вместо вызова \ Натрий \ crypto_secretbox_open () теперь вам нужно позвонить sodium_crypto_secretbox_open ()
Я искренне надеюсь, что этот пост поможет кому-то избежать горя, которую я испытывал за последние 24 часа, задаваясь вопросом, что бы я * ^&% up — вполне возможно, что это единственное, что в Интернете действительно указывает на это изменение, которое находит Google …
Пересмотренные имена функций и константы перечислены в https://paragonie.com/book/pecl-libsodium/read/01-quick-start.md
Описание проекта объясняет причину этих изменений: https://github.com/jedisct1/libsodium-php
Существует также polyfill, который обеспечивает старый интерфейс: https://github.com/mollie/polyfill-libsodium
Тем не менее, новые API libsodium недоступны при использовании этого polyfill.
Я не могу поддерживать обе версии, извините. Хотелось бы, чтобы мы продолжали использовать оригинальную версию с пространством имен.