问题:
没有不必要的细节,我有两台几乎相同的服务器。但是,其中一个配置了 yum 存储库,以便可以安装 php 7.2 软件包 imagick 和钠,而另一个则没有。
相同的内核版本:
CentOS Linux release 7.5.1804 (Core)
类似的 PHP 版本:
服务器 A:
PHP 7.2.18 (cli)
服务器 B:
PHP 7.2.20 (cli)
服务器 A:
$ sudo yum search sodium imagick
...
php72u-sodium.x86_64 : Wrapper for the Sodium cryptographic library
php72u-pecl-imagick.x86_64 : Provides a wrapper to the ImageMagick library
...
服务器 B:
$ sudo yum search sodium imagick
[only versions for php 7.3 and 7.4 shown]
我相信这是由于 yum repos 的配置,特别是ius
repo:
服务器 A:
$ sudo yum repolist
Loaded plugins: fastestmirror, replace
Loading mirror speeds from cached hostfile
* base: d36uatko69830t.cloudfront.net
* epel: iad.mirror.rackspace.com
* extras: d36uatko69830t.cloudfront.net
* ius: ius.mirror.constant.com <================ THIS ONE
* updates: d36uatko69830t.cloudfront.net
...
服务器 B:
$ sudo yum repolist
Loaded plugins: fastestmirror, replace
Loading mirror speeds from cached hostfile
* base: d36uatko69830t.cloudfront.net
* epel: dl.fedoraproject.org
* extras: d36uatko69830t.cloudfront.net
* updates: d36uatko69830t.cloudfront.net
...
所以简而言之,我需要弄清楚如何将服务器 B 配置为具有相同的 IUS 存储库(在相同的版本中,因此它具有可用的 PHP 7.2 包!)
我尝试过的事情
- 按照他们的说明从头开始安装 IUS 存储库。
/etc/yum.repos.d/
将完整目录从服务器 A复制到 B,然后运行yum clean all
- 使用 pecl 手动安装这些模块
但这些尝试都没有奏效。结果:
- 最新的 IUS 仍然没有这些软件包可用。
- 似乎没有什么不同(或者可能破坏了 IUS 回购,我现在不记得了)。
- Pecl 同样没有这些模块的 PHP 7.2 版本。