CentOS 5.9 上的 libxml2

CentOS 5.9 上的 libxml2

我在 CentOS 5.9 Web 服务器上运行 php 站点时遇到了问题。libxml2 2.6.26-2.1.21.el5_9.2显然一个已知的错误,但是他们似乎没有将较新的版本放入 repo 中,因为您无法使用 yum 来更新它。

我对此进行了大量搜索,还找到了 Serverfault 上的一些其他帖子,但都没有用。我尝试了 Chad 的解决方案这里但在最后阶段失败了。当我尝试执行时yum localinstall,它给出了以下信息:

Transaction Check Error:
  file /usr/share/man/man1/xmlcatalog.1.gz from install of libxml2-2.7.8-1.x86_64 conflicts with file from package libxml2-2.6.26-2.1.21.el5_9.2.i386
  file /usr/share/man/man1/xmllint.1.gz from install of libxml2-2.7.8-1.x86_64 conflicts with file from package libxml2-2.6.26-2.1.21.el5_9.2.i386
  file /usr/share/man/man1/xmlcatalog.1.gz from install of libxml2-2.7.8-1.x86_64 conflicts with file from package libxml2-2.6.22-1.i386
  file /usr/share/man/man1/xmllint.1.gz from install of libxml2-2.7.8-1.x86_64 conflicts with file from package libxml2-2.6.22-1.i386
  file /usr/share/man/man3/libxml.3.gz from install of libxml2-2.7.8-1.x86_64 conflicts with file from package libxml2-2.6.22-1.i386

所以,我想也许我可以--force这样做,但如果它可能会覆盖系统需要的某些内容并导致更多错误,我就不想这样做。

在错误报告中,Daniel Veillard 表示有一个修复方法:

“单个上游提交似乎可以解决问题”

这句话对我来说完全没有意义,他发布的链接也没有丝毫澄清。

我将不胜感激任何帮助。我看到它抱怨来自 32 位软件包的文件,我觉得这很奇怪,因为我正在尝试安装 64 位软件包。我认为它会保留 32 位文件。

答案1

您的系统上现在同时拥有 32 位和 64 位软件包,因此为了更新它们,您必须使用相同的调用同时更新它们yum localinstall

答案2

我已经通过降级libxml2并重新安装 PHP解决了这个问题

sudo yum downgrade libxml2 libxml2-devel libxml2-python
sudo yum reinstall php php-xml

相关内容