在CentOS 5.9上的libxml2

我在运行php网站的CentOS 5.9网站服务器遇到问题。 显然libxml2 2.6.26-2.1.21.el5_9.2有一个已知的bug ,但似乎并没有把新版本放入回购库,因为你不能用yum来更新它。

我在这方面search了很多,并且在Serverfault上也发现了一些其他的post,但是它没有起作用。 我在这里尝试乍得的解决scheme,但在最后阶段失败了。 当我尝试执行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位用户孤单一人。

现在你的系统上已经有了32位和64位的软件包,所以为了更新他们,你必须同时用同样的yum localinstall调用来更新它们。

我解决了这个问题,降级libxml2并重新安装PHP

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