我按照指南找到这里在 CentOS 7 上安装 PHP 5.6 和 Apache。
一切进展顺利。
我现在需要安装 PHP-SOAP,但它给我带来了依赖冲突。所以我使用了本指南在这里更新我的服务器存储库以包含 webtatic,它现在正在执行以下操作:
$ yum --assumeyes install php56w-soap
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* Webmin: download.webmin.com
* base: centos.mirror.uber.com.au
* epel: epel.mirror.digitalpacific.com.au
* extras: centos.mirror.crucial.com.au
* updates: centos.mirror.crucial.com.au
* webtatic: us-east.repo.webtatic.com Resolving Dependencies
--> Running transaction check
---> Package php56w-soap.x86_64 0:5.6.2-1.w7 will be installed
--> Processing Dependency: php56w-common(x86-64) = 5.6.2-1.w7 for package: php56w-soap-5.6.2-1.w7.x86_64
--> Running transaction check
---> Package php56w-common.x86_64 0:5.6.2-1.w7 will be installed Removing php56w-common.x86_64 0:5.6.2-1.w7 - u due to obsoletes from installed php-common-5.6.4-2.el7.remi.x86_64
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package php56w-common.x86_64 0:5.6.2-1.w7 will be installed
--> Processing Dependency: php56w-common(x86-64) = 5.6.2-1.w7 for package: php56w-soap-5.6.2-1.w7.x86_64
--> Finished Dependency Resolution Error: Package: php56w-soap-5.6.2-1.w7.x86_64 (webtatic)
Requires: php56w-common(x86-64) = 5.6.2-1.w7
Available: php56w-common-5.6.0-1.w7.x86_64 (webtatic)
php56w-common(x86-64) = 5.6.0-1.w7
Available: php56w-common-5.6.0-2.w7.x86_64 (webtatic)
php56w-common(x86-64) = 5.6.0-2.w7
Available: php56w-common-5.6.1-1.w7.x86_64 (webtatic)
php56w-common(x86-64) = 5.6.1-1.w7
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
我尝试过这两种方法--skip-broken
和rpm -Va --nofiles --nodigest
解决方法,但都无济于事。
我还能做些什么来帮助实现这一目标吗?
我当前安装的 PHP 版本是 5.4.10,后来降级为 5.4.6。出于合规性考虑,我不能低于 5.4.6,但我现在确实需要安装 PHP-SOAP。
我可能忽略或遗漏了什么吗?
答案1
你似乎对系统上安装的 PHP 版本感到困惑现在,让我们从那里开始吧。
首先,您安装的是 PHP 5.6.4,来自 remi-php56 存储库,而不是 PHP 5.4.6。如果您记得启用 remi 和 remi-php56 存储库,那么从 remi-php56 安装应该不会有问题php-soap
。由于它们似乎已被禁用,因此这几乎肯定是问题的原因。
这里不需要添加 webtatic,导致此错误的原因是 webtatic 包与 remi 包冲突。您应该删除 webtatic repo,启用 remi 和 remi-php56 repos,然后安装 php-soap。
(多年来,Remi 的高质量软件包帮助他成为官方 Fedora 软件包开发人员并在 Red Hat 就职。我不知道 webtatic 的人是谁,但我从未对他们的软件包质量印象深刻。)