yum install php-devel 以及其他命令返回问题

yum install php-devel 以及其他命令返回问题

我运行它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

我也遇到了同样的问题并按照以下方法解决:

  1. 首先,确保您拥有的 PHP 版本是 PHP 5.3、5.4 还是 5.5
  2. 接下来,当您发出命令“yum install php-devel”时。仔细观察并查看它试图安装哪个版本的 devel
  3. yum search php54接下来,根据您的 PHP 版本,尝试使用“yum search php53”等搜索可用的存储库
  4. 您将会看到可用的软件包列表。
  5. 现在,发出命令并指定您要安装的确切版本。例如:yum install php53_devel.x86_64yum 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

相关内容