Php

CentOS 5.9 上的 libxml2

  • April 5, 2013

我在執行 php 站點的 CentOS 5.9 網路伺服器上遇到問題。顯然libxml2 2.6.26-2.1.21.el5_9.2一個已知的錯誤,但似乎他們沒有將較新的版本放入 repo 中,因為您無法使用 yum 對其進行更新。

我對此進行了很多搜尋,並且還在這裡找到了有關 Serverfault 的其他一些文章,但它沒有奏效。我在這裡嘗試了乍得的解決方案,但在最後階段失敗了。當我嘗試這樣做時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 位的。

yum localinstall您的系統上現在同時擁有 32 位和 64 位軟體包,因此為了更新它們,您必須使用相同的呼叫同時更新它們。

我已經通過降級libxml2和重新安裝 PHP解決了這個問題

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

引用自:https://serverfault.com/questions/496023