Centos
在 CentOS 7 x64 上安裝 php-soap56w 不起作用
我按照此處的指南在 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-broken
和rpm -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 的人是誰,但我從未對他們的軟體包質量印象深刻。)