我在 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