Centos

在 CentOS 7 x64 上安裝 php-soap56w 不起作用

  • December 28, 2014

我按照此處的指南在 CentOS 7 上使用 Apache 安裝 PHP 5.6。

一切都進行得很順利。

我現在需要安裝 PHP-SOAP,它給了我依賴衝突。所以我在這裡使用本指南來更新我的伺服器儲存庫以包含 webtatic,它現在正在這樣做:

$ yum --assumeyes install php56w-soap

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile  
* Webmin: download.webmin.com  
* base: centos.mirror.uber.com.au  
* epel: epel.mirror.digitalpacific.com.au  
* extras: centos.mirror.crucial.com.au  
* updates: centos.mirror.crucial.com.au 
* webtatic: us-east.repo.webtatic.com Resolving Dependencies
--> Running transaction check
---> Package php56w-soap.x86_64 0:5.6.2-1.w7 will be installed
--> Processing Dependency: php56w-common(x86-64) = 5.6.2-1.w7 for package: php56w-soap-5.6.2-1.w7.x86_64
--> Running transaction check
---> Package php56w-common.x86_64 0:5.6.2-1.w7 will be installed Removing php56w-common.x86_64 0:5.6.2-1.w7 - u due to obsoletes from installed php-common-5.6.4-2.el7.remi.x86_64
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package php56w-common.x86_64 0:5.6.2-1.w7 will be installed
--> Processing Dependency: php56w-common(x86-64) = 5.6.2-1.w7 for package: php56w-soap-5.6.2-1.w7.x86_64
--> Finished Dependency Resolution Error: Package: php56w-soap-5.6.2-1.w7.x86_64 (webtatic)
      Requires: php56w-common(x86-64) = 5.6.2-1.w7
      Available: php56w-common-5.6.0-1.w7.x86_64 (webtatic)
          php56w-common(x86-64) = 5.6.0-1.w7
      Available: php56w-common-5.6.0-2.w7.x86_64 (webtatic)
          php56w-common(x86-64) = 5.6.0-2.w7
      Available: php56w-common-5.6.1-1.w7.x86_64 (webtatic)
          php56w-common(x86-64) = 5.6.1-1.w7  
You could try using --skip-broken to work around the problem  
You could try running: rpm -Va --nofiles --nodigest

我已經嘗試過--skip-brokenrpm -Va --nofiles --nodigest變通方法,但都無濟於事。

我還能做些什麼來實現這一目標嗎?

我目前安裝的 PHP 版本是 5.4.10,然後降級到 5.4.6。出於合規性目的,我不能低於 5.4.6,但我現在確實需要安裝 PHP-SOAP。

有什麼我可能忽略或遺漏的嗎?

您似乎對現在系統上安裝的 PHP 版本感到困惑,所以讓我們從那裡開始。

首先,您從 remi-php56 儲存庫安裝了 PHP 5.6.4,而不是 PHP 5.4.6。從 remi-php56安裝應該沒有問題php-soap,假設您記得啟用 remi 和 remi-php56 儲存庫。由於它們似乎被禁用,這幾乎肯定是問題的原因。

這裡不需要添加webtatic,這個錯誤的原因是webtatic包與remi包衝突。您應該刪除 webtatic 儲存庫,啟用 remi 和 remi-php56 儲存庫,然後安裝 php-soap。

(多年來,Remi 的高質量軟體包幫助他成為了正式的 Fedora 打包員並受僱於 Red Hat。我不知道 webtatic 的人是誰,但我從未對他們的軟體包質量印象深刻。)

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