【问题标题】:Error when installing php54-xml in Centos 6.4在 Centos 6.4 中安装 php54-xml 时出错
【发布时间】:2014-05-02 22:41:48
【问题描述】:

我正在尝试使用 yum 在Centos 6.4 中安装php54-xml

我在控制台中执行了yum install php54-xml,但出现以下错误:

Error: Package: 1:php-pear-1.9.4-4.el6.noarch (@base)
           Requires: php-cli >= 5.1.0-1
           Removing: php54-cli-5.4.22-1.ius.el6.x86_64 (@php-ius)
               php-cli = 5.4.22-1.ius.el6
           Obsoleted By: php55-cli-5.5.10-1.el6.x86_64 (CentALT)
               Not found
           Available: php-cli-5.3.3-26.el6.x86_64 (base)
               php-cli = 5.3.3-26.el6
           Available: php-cli-5.3.3-27.el6_5.x86_64 (updates)
               php-cli = 5.3.3-27.el6_5
           Available: php-cli-5.3.27-3.el6.x86_64 (CentALT)
               php-cli = 5.3.27-3.el6
           Available: php53u-cli-5.3.27-1.ius.el6.i686 (php-ius)
               php-cli = 5.3.27-1.ius.el6
           Available: php54-cli-5.4.21-1.ius.el6.i686 (php-ius)
               php-cli = 5.4.21-1.ius.el6
           Available: php54-cli-5.4.21-2.ius.el6.i686 (php-ius)
               php-cli = 5.4.21-2.ius.el6
           Available: php54w-cli-5.4.24-1.w6.x86_64 (webtatic)
               php-cli = 5.4.24-1.w6
           Available: php54w-cli-5.4.25-1.w6.x86_64 (webtatic)
               php-cli = 5.4.25-1.w6
           Available: php55w-cli-5.5.8-1.w6.x86_64 (webtatic)
               php-cli = 5.5.8-1.w6
           Available: php55w-cli-5.5.9-1.w6.x86_64 (webtatic)
               php-cli = 5.5.9-1.w6
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

我尝试安装php-cli 来解决问题,然后我收到以下错误:

Transaction Check Error:
  file /etc/php.ini from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php-zts/modules/curl.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php/modules/curl.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php-zts/modules/fileinfo.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php/modules/fileinfo.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php-zts/modules/json.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php/modules/json.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php-zts/modules/phar.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php/modules/phar.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php-zts/modules/zip.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/lib64/php/modules/zip.so from install of php-common-5.3.27-3.el6.x86_64 conflicts with file from package php54-common-5.4.22-1.ius.el6.x86_64
  file /usr/bin/phar.phar from install of php-cli-5.3.27-3.el6.x86_64 conflicts with file from package php54-cli-5.4.22-1.ius.el6.x86_64
  file /usr/bin/php from install of php-cli-5.3.27-3.el6.x86_64 conflicts with file from package php54-cli-5.4.22-1.ius.el6.x86_64
  file /usr/bin/php-cgi from install of php-cli-5.3.27-3.el6.x86_64 conflicts with file from package php54-cli-5.4.22-1.ius.el6.x86_64
  file /usr/bin/phpize from install of php-cli-5.3.27-3.el6.x86_64 conflicts with file from package php54-cli-5.4.22-1.ius.el6.x86_64
  file /usr/share/man/man1/php.1.gz from install of php-cli-5.3.27-3.el6.x86_64 conflicts with file from package php54-cli-5.4.22-1.ius.el6.x86_64
  file /usr/share/man/man1/phpize.1.gz from install of php-cli-5.3.27-3.el6.x86_64 conflicts with file from package php54-cli-5.4.22-1.ius.el6.x86_64

似乎php5.3.x 之间存在冲突,这是我在php5.4.x 看到的以前的版本

有没有办法安装php54-xml,这样我就可以使用dom_import_simplexml 函数,因为我在控制台中运行PHP 脚本时遇到undefined 错误?

【问题讨论】:

  • 您需要选择 5.3 或 5.4,因为无法同时安装这两个版本:它们共享共同文件,这会产生您在终端上看到的冲突。
  • @SamiLaine 如何删除 Php 5.3?
  • 您似乎已经从存储库 php-ius 安装了一些 PHP 包(甚至可能是 PHP 本身)。该存储库是否默认启用(请参阅/etc/yum.repos.d 中的文件,它们只是文本文件并且易于解释)?如果没有,请尝试使用--enable-repo='*ius*' 运行yum install,看看是否有更少/更多的冲突。

标签: php xml linux centos yum


【解决方案1】:

除了普通的 CentOS 存储库之外,您还有一堆来自一堆存储库(php-ius、webtatic)的软件包。这些 repos 中的包可能有不同的方式将其包集成到系统中。我建议坚持一个来源 - 例如Red Hat 支持的 Software Collections 存储库 - 从那里安装的软件包可以并存,即您可以并行安装多个 PHP 版本:

https://www.softwarecollections.org/en/scls/?search=php

要在从 Software Collections 安装软件包之前清理您的系统,我建议删除所有第 3 方软件包。您可以通过以下方式显示要删除的包:

yum list extras --disablerepo=\* --enablerepo=base --enablerepo=updates
yum remove <all_the_listed_packages>

第一个命令基本上列出了您从存储库安装的所有软件包,而不是 CentOS 的 baseupdates 存储库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-08
    • 2015-05-21
    • 2013-12-20
    • 1970-01-01
    • 2014-12-04
    • 2013-11-26
    • 1970-01-01
    • 2016-02-10
    相关资源
    最近更新 更多