Мне нужно зашифровать пароли и некоторые другие данные в моем приложении PHP (5.5.9) на сервере Ubuntu (14.04). Я прочитал о libsodium и нашел его подходящим для требований приложений. Я следовал всем инструкциям, приведенным в единственном руководство доступно для либсоида.
Когда я проверяю страницу phpinfo (), я вижу следующую запись для libsodium:
поддержка libsodium включена
Скомпилированная версия libsodium 1.0.6
заголовки libsodium версия 1.0.3
библиотека libsodium версия 1.0.3
Тем не менее, когда я пытаюсь запустить базовый пример, приведенный в приведенном выше учебнике, который:
<?php var_dump([ \Sodium\library_version_major(),\\Sodium\library_version_minor(),\Sodium\version_string() ]);?>
Я получаю сообщение об ошибке «Вызов неопределенной функции Sodium \ library_version_major ()».
Это действительно сбивает меня с толку, так как расширение правильно идентифицируется страницей phpinfo ().
Может кто-нибудь, пожалуйста, помогите мне понять, если я что-то упустил или делаю неправильно, что я не могу использовать libsodium с php. Любая помощь с благодарностью.
Спасибо.
Я предполагаю, что вы пытались запустить базовый пример из командной строки. В этом случае необходимо не только добавить extension=libsodium.so
к php.ini apache2, который находится на /etc/php5/apache2/php.ini на Ubuntu 14.04.
Дополнительно необходимо добавить эту строку в файл php.ini для среды cli, найденной по адресу /etc/php5/cli/php.ini.
Других решений пока нет …