我运行它yum install php-devel
并返回此结果。通常我只会使用 --skip-broken 来运行它,但当我这样做时,它仍然不起作用。
Available: php-common-5.3.3-22.el6.x86_64 (rhel-x86_64-server-6)
php-common(x86-64) = 5.3.3-22.el6
Available: php-common-5.3.3-23.el6_4.x86_64 (rhel-x86_64-server-6)
php-common(x86-64) = 5.3.3-23.el6_4
Available: php-common-5.3.3-26.el6.x86_64 (rhel-x86_64-server-6)
php-common(x86-64) = 5.3.3-26.el6
Available: php54w-common-5.4.29-2.w6.x86_64 (webtatic)
php-common(x86-64) = 5.4.29-2.w6
Available: php54w-common-5.4.30-1.w6.x86_64 (webtatic)
php-common(x86-64) = 5.4.30-1.w6
Available: php55w-common-5.5.13-2.w6.x86_64 (webtatic)
php-common(x86-64) = 5.5.13-2.w6
Installing: php55w-common-5.5.14-1.w6.x86_64 (webtatic)
php-common(x86-64) = 5.5.14-1.w6
You could try using --skip-broken to work around the problem
运行时--skip-broken
它最后返回以下内容:
由于依赖性问题而跳过的软件包:
autoconf-2.63-5.1.el6.noarch from rhel-x86_64-server-6
automake-1.11.1-4.el6.noarch from rhel-x86_64-server-6
pcre-devel-7.8-6.el6.x86_64 from rhel-x86_64-server-6
php-5.3.3-27.el6_5.1.x86_64 from rhel-x86_64-server-6
php-cli-5.3.3-27.el6_5.1.x86_64 from rhel-x86_64-server-6
php-common-5.3.3-27.el6_5.1.x86_64 from rhel-x86_64-server-6
php-mysql-5.3.3-27.el6_5.1.x86_64 from rhel-x86_64-server-6
php-pdo-5.3.3-27.el6_5.1.x86_64 from rhel-x86_64-server-6
php-soap-5.3.3-27.el6_5.1.x86_64 from rhel-x86_64-server-6
php55w-cli-5.5.14-1.w6.x86_64 from webtatic
php55w-common-5.5.14-1.w6.x86_64 from webtatic
php55w-devel-5.5.14-1.w6.x86_64 from webtatic
在安装与 php 相关的东西时,使用其他一些类似的命令也出现了这个问题,只不过我没有使用它们。
我需要安装它才能完成我正在尝试做的事情。我记得升级到 PHP 5.4 后,我们整个基础设施都因为需要 PHP 5.3 而崩溃,所以我尽快降级以让一切恢复运行,这可能加剧了这个问题。
如果您知道为什么会发生这种情况以及如何在保留 PHP 5.3 的同时在系统上获取该软件包,请告诉我。
谢谢。
答案1
此时最简单的事情就是摆脱 webtatic 包。
yum --disablerepo=webtatic distro-sync
应该能让你走上正确的道路。
编辑:如何永久禁用 webtatic:
sed -i '/\[webtatic\]/,/^$/ s/\(enabled=\)1/\10/p' $(grep -rlF [webtatic] /etc/yum.repos.d/*.repo)
然后做
yum distro-sync
并检查
package-cleanup --orphans
(或yum list extras
)的结果以确定可能需要删除的任何其他包。
答案2
我也遇到了同样的问题并按照以下方法解决:
- 首先,确保您拥有的 PHP 版本是 PHP 5.3、5.4 还是 5.5
- 接下来,当您发出命令“yum install php-devel”时。仔细观察并查看它试图安装哪个版本的 devel
yum search php54
接下来,根据您的 PHP 版本,尝试使用“yum search php53”等搜索可用的存储库- 您将会看到可用的软件包列表。
- 现在,发出命令并指定您要安装的确切版本。例如:
yum install php53_devel.x86_64
或yum install php54w.x86_64
等等
以下问题对我有帮助:https://stackoverflow.com/questions/12325109/cant-install-php-devel-on-centos
答案3
通常我只需使用 --skip-broken 来运行它
所以你的系统现在可能处于完全混乱的状态。你使用的这个额外的“webtatic”存储库可能与此有关。此时我会清除该框并从头开始。
答案4
这对我有用
sudo yum --enablerepo=remi,remi-php56 install php-devel