Это не сработало для меня (Ubuntu 16.04) (чтобы заставить $ pecl install -f libsodium
работать):
$ apt install libsodium libsodium-dev
Здесь я получил следующую ошибку:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libsodium
Вместо этого было загружено libsodium вручную и скомпилировано:
Загрузите исходный код libsodium и распакуйте его
$ wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
$ tar -xzf LATEST.tar.gz
Скомпилируйте libsodium
$ cd libsodium-stable/
$ ./configure
$ make && make check
$ make install
См .: https://libsodium.gitbook.io/doc/installation
После этого работала установка libsodium через PECL:
$ pecl install -f libsodium
Устранение неисправностей:
$ pecl install -f libsodium
все еще не работает
Проверьте, установлен ли PECL:
$ pecl version
PEAR Version: ...
PHP Version: ...
Zend Engine Version: ...
Running on: ...
Если вместо этого появляется ошибка, сначала необходимо установить PECL:
$ apt install php-pear
Проверьте, доступен ли phpize (для компиляции libsodium для PHP):
$ phpize --version
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303
Если вместо этого появляется ошибка, необходимо установить php7.1-dev:
$ apt install php7.1-dev
Как активировать натрий в PHP?
Вам нужно только создать файлodium.ini в вашем каталоге расширений PHP (возможно, в /etc/php/7.1/mods-available/
)
Содержимое:
extension=sodium.so
Вы можете активировать модуль с помощью:
$ phpenmod -v 7.1 sodium
(Деактивация может быть сделана с помощью phpdismod -v 7.1 sodium
.)
phpinfo должен перечислить модуль сейчас:
$ php -i | grep sodium
/etc/php/7.1/cli/conf.d/20-sodium.ini,
sodium
sodium support => enabled
sodium compiled version => 2.0.20
libsodium headers version => 1.0.18
libsodium library version => 1.0.18