Я установил пакет php71-php-pecl-libsodium а затем добавил extension=libsodium.so в свой php.ini но когда я запускаю php -i | grep sodium я получаю:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/libsodium.so' - /usr/lib64/php/modules/libsodium.so: cannot open shared object file: No such file or directory in Unknown on line 0

У меня есть /usr/lib64/libsodium.so и /usr/local/lib/libsodium.so . Я пытался связать первый путь с ожидаемым путем для PHP, но когда я делаю это, он говорит, что это недопустимое расширение PHP. Как я могу установить это?

Если я пытаюсь установить версию pecl, я получаю:

Error: Package: php-pecl-libsodium-1.0.7-1.el7.remi.5.4.x86_64 (remi)
           Requires: php(zend-abi) = 20100525-64
           Installed: php-common-7.1.11-1.el7.remi.x86_64 (@remi-php71)
               php(zend-abi) = 20160303-64
           Available: php-common-5.4.16-42.el7.x86_64 (base)
               php(zend-abi) = 20100525-64
           Available: php-common-5.4.16-43.el7_4.x86_64 (updates)
               php(zend-abi) = 20100525-64
           Available: php-common-5.4.45-13.el7.remi.x86_64 (remi)
               php(zend-abi) = 20100525-64

также пытался скомпилировать из этих инструкций, но по-прежнему нет .so файла в правильном месте, даже после make install: https://paragonie.com/book/pecl-libsodium/read/00-intro.md#install-libsodium

CentOS 7

PHP 7.2

1 ответ1

0

Поскольку вы установили php 7.1 из «remi-php71», вам нужен php-pecl -odium из того же хранилища.

См. Инструкции мастера для постоянного включения необходимого репозитория.

yum-config-manager --enable remi-php71

Обратите внимание, у вас есть выбор между 2 пакетами

  • php-pecl-libsodium, который предоставляет API v1 (не рекомендуется)
  • php-pecl-libsodium2, который предоставляет API v2, такой же, как в следующем PHP 7.2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .