Centos6

如何解決 Centos 6 中的包衝突

  • November 2, 2017

我正在嘗試從 php 5.5 升級到 5.6,到目前為止,我已經成功升級到 php5.6,設置了 suPHP 0.7,並添加了 php-mysql 擴展。我使用 webtatic repo 安裝 php 5.6 我在此頁面 上讀到不建議在 remi 上使用 webtatic。所以我刪除了 /etc/yum.conf.d/ 中的文件,以便在 repo 列表中沒有 webtatic。

但是我無法為 DomDocument 安裝 php-xml,一些 CMS 使用它。

我試過 :

yum install php-xml

不工作

yum --enablerepo remi install php-xml

它給了我資訊:

Résolution des dépendances
--> Lancement de la transaction de test
---> Package php-xml.x86_64 0:5.5.38-7.el6.remi will be installé
--> Traitement de la dépendance : php-common(x86-64) = 5.5.38-7.el6.remi     pour le paquet : php-xml-5.5.38-7.el6.remi.x86_64
--> Lancement de la transaction de test
---> Package php-common.x86_64 0:5.5.38-7.el6.remi will be installé
--> Traitement de la dépendance : php-pecl-jsonc(x86-64) pour le paquet : php-common-5.5.38-7.el6.remi.x86_64
--> Lancement de la transaction de test
---> Package php-pecl-jsonc.x86_64 0:1.3.10-2.el6.remi.5.5 will be installé
--> Traitement du conflit : php56w-common-5.6.31-2.w6.x86_64 entre en conflit avec php-common < 5.6
--> Résolution des dépendances terminée
Erreur : php56w-common conflicts with php-common-5.5.38-7.el6.remi.x86_64
Vous pouvez essayer d'utiliser --skip-broken pour contourner le problème
Vous pouvez essayer d'exécuter : rpm -Va --nofiles --nodigest

我嘗試了 –skip-broken 參數,但我收到:

--> Lancement de la transaction de test
---> Package php-xml.x86_64 0:5.5.38-7.el6.remi will be installé
--> Traitement de la dépendance : php-common(x86-64) = 5.5.38-7.el6.remi pour le paquet : php-xml-5.5.38-7.el6.remi.x86_64
--> Lancement de la transaction de test
---> Package php-common.x86_64 0:5.5.38-7.el6.remi will be installé
--> Traitement de la dépendance : php-pecl-jsonc(x86-64) pour le paquet : php-common-5.5.38-7.el6.remi.x86_64
--> Lancement de la transaction de test
---> Package php-pecl-jsonc.x86_64 0:1.3.10-2.el6.remi.5.5 will be installé
--> Traitement du conflit : php56w-common-5.6.31-2.w6.x86_64 entre en conflit avec php-common < 5.6

Paquets omis en raison de problèmes de dépendances :
php-common-5.5.38-7.el6.remi.x86_64 depuis remi-php55
php-pecl-jsonc-1.3.10-2.el6.remi.5.5.x86_64 depuis remi-php55
php-xml-5.5.38-7.el6.remi.x86_64 depuis remi-php55

然後我又試了rpm -Va –nofiles –nodigest,又試了上一條命令,還是不能解決問題。感謝您的任何幫助 !

更新:我設法獲得了 remi 儲存庫的所有者https://rpms.remirepo.net/wizard/,有一個配置器,我選擇了 php 的版本,它列出了實現你想要的步驟,但是不幸的是,我收到了這條消息:

Erreur du contrôle de transaction :
file /usr/lib64/mysql/libmysqlclient.so.16.0.0 from install of mysql-community-libs-compat-5.6.38-2.el6.x86_64 conflicts with file from package compat-mysql51-5.1.54-1.el6.remi.x86_64
file /usr/lib64/mysql/libmysqlclient_r.so.16.0.0 from install of mysql-community-libs-compat-5.6.38-2.el6.x86_64 conflicts with file from package compat-mysql51-5.1.54-1.el6.remi.x86_64

我現在正試圖在他們的論壇中解決這個問題。

免責聲明:我在語言障礙方面遇到了一些麻煩,但我認為它與您的英文描述相得益彰。

我認為您需要刪除使用 webtatic 安裝的軟體包,而不僅僅是刪除 repo。具體來說,看起來 php56w-common 來自該儲存庫,並且是您麻煩的根源。您需要從 remi-php56 安裝 PHP 5.6 並堅持使用第 3 方生態系統。

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