Исправить сломанную установку libsodium php Ubuntu Xenial

libsodium БЫЛ работает нормально, но теперь мне удалось сломать его, и я не могу найти, как его сломать.

Amazon AWS Ubuntu Xenial, libsodium18 установлен, php -odium от PPA Ondrej Sury установлен, но вместо работы я теперь получаю:

Неопределенная константа ‘Sodium \ CRYPTO_SECRETBOX_NONCEBYTES’

Раздражает то, что в Zesty все хорошо, но стабильного образа AWS Zesty пока нет. Я уверен, что я просто забыл простую вещь, но она просто перестала работать.

0

Решение

Нашел это.

Изменены имена функций натрия в PHP, поэтому вместо вызова \ Натрий \ crypto_secretbox_open () теперь вам нужно позвонить sodium_crypto_secretbox_open ()

Я искренне надеюсь, что этот пост поможет кому-то избежать горя, которую я испытывал за последние 24 часа, задаваясь вопросом, что бы я * ^&% up — вполне возможно, что это единственное, что в Интернете действительно указывает на это изменение, которое находит Google …

Пересмотренные имена функций и константы перечислены в 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

Тем не менее, новые API libsodium недоступны при использовании этого polyfill.

Я не могу поддерживать обе версии, извините. Хотелось бы, чтобы мы продолжали использовать оригинальную версию с пространством имен.

0

По вопросам рекламы [email protected]