Libsodium и pecl-libsodium установлены, но PHP выдает ошибку

Мне нужно зашифровать пароли и некоторые другие данные в моем приложении PHP (5.5.9) на сервере Ubuntu (14.04). Я прочитал о libsodium и нашел его подходящим для требований приложений. Я следовал всем инструкциям, приведенным в единственном руководство доступно для либсоида.

  1. sudo add-apt-repository ppa: chris-lea / libsodium — выполнено, ошибок нет
  2. sudo apt-get update && sudo apt-get установить libsodium-dev — готово, ошибок нет
  3. pecl установить libsodium — готово, ошибок нет
  4. добавил расширение = libsodium.so в php.ini и перезапустил apache.

Когда я проверяю страницу 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. Любая помощь с благодарностью.

Спасибо.

3

Решение

Я предполагаю, что вы пытались запустить базовый пример из командной строки. В этом случае необходимо не только добавить extension=libsodium.so к php.ini apache2, который находится на /etc/php5/apache2/php.ini на Ubuntu 14.04.

Дополнительно необходимо добавить эту строку в файл php.ini для среды cli, найденной по адресу /etc/php5/cli/php.ini.

2

Другие решения

Других решений пока нет …

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