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

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

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

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

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

2 ответа

Нашел это.

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

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

Пересмотренные имена функций и константы перечислены в https://paragonie.com/book/pecl-libsodium/read/01-quick-start.md

Описание проекта объясняет причину этих изменений: https://github.com/jedisct1/libsodium-php

Существует также полифилл, который обеспечивает старый интерфейс: https://github.com/mollie/polyfill-libsodium

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

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

Другие вопросы по тегам