我安装了该包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#installing-libsodium
CentOS 7
PHP 7.2
答案1
由于您已经从“remi-php71”安装了 php 7.1,因此您需要来自同一存储库的 php-pecl-sodium。
查看巫师永久启用所需存储库的说明。
yum-config-manager --enable remi-php71
请注意,您可以选择 2 个套餐
- php-pecl-libsodium提供 v1 API(已弃用)
- php-pecl-libsodium2提供 v2 API,与即将推出的 PHP 7.2 相同