2015-10-19 84 views
0

服務器正在運行的Centos 6.5 PHP 5.4.40。錯誤安裝在CentOS 6.5的php-devel的和PHP 5.4

請輸入:

yum install php-devel 

結果如下:

Loaded plugins: fastestmirror, refresh-packagekit, replace, security 
Loading mirror speeds from cached hostfile 
* base: mirror.tngwebhost.com 
* epel: fedora.westmancom.com 
* extras: mirror.tocici.com 
* updates: mirror.oss.ou.edu 
* webtatic: uk.repo.webtatic.com 
Setting up Install Process 
Resolving Dependencies 
--> Running transaction check 
---> Package php-devel.x86_64 0:5.3.3-46.el6_6 will be installed 
--> Processing Dependency: php(x86-64) = 5.3.3-46.el6_6 for package: php-devel-5.3.3-46.el6_6.x86_64 
--> Running transaction check 
---> Package php.x86_64 0:5.3.3-46.el6_6 will be installed 
--> Processing Dependency: php-common(x86-64) = 5.3.3-46.el6_6 for package: php-5.3.3-46.el6_6.x86_64 
--> Processing Dependency: php-cli(x86-64) = 5.3.3-46.el6_6 for package: php-5.3.3-46.el6_6.x86_64 
--> Running transaction check 
---> Package php-cli.x86_64 0:5.3.3-46.el6_6 will be installed 
---> Package php-common.x86_64 0:5.3.3-46.el6_6 will be installed 
--> Processing Conflict: php54w-common-5.4.40-1.w6.x86_64 conflicts php-common < 5.4.0 
--> Restarting Dependency Resolution with new changes. 
--> Running transaction check 
---> Package php54w-common.x86_64 0:5.4.40-1.w6 will be updated 
--> Processing Dependency: php54w-common(x86-64) = 5.4.40-1.w6 for package: php54w-mbstring-5.4.40-1.w6.x86_64 
--> Processing Dependency: php54w-common(x86-64) = 5.4.40-1.w6 for package: php54w-gd-5.4.40-1.w6.x86_64 
--> Processing Dependency: php54w-common(x86-64) = 5.4.40-1.w6 for package: php54w-pdo-5.4.40-1.w6.x86_64 
--> Processing Dependency: php54w-common(x86-64) = 5.4.40-1.w6 for package: php54w-5.4.40-1.w6.x86_64 
--> Processing Dependency: php54w-common(x86-64) = 5.4.40-1.w6 for package: php54w-cli-5.4.40-1.w6.x86_64 
--> Processing Dependency: php54w-common(x86-64) = 5.4.40-1.w6 for package: php54w-xml-5.4.40-1.w6.x86_64 
--> Processing Dependency: php54w-common(x86-64) = 5.4.40-1.w6 for package: php54w-dba-5.4.40-1.w6.x86_64 
--> Processing Dependency: php54w-common(x86-64) = 5.4.40-1.w6 for package: php54w-bcmath-5.4.40-1.w6.x86_64 
---> Package php54w-common.x86_64 0:5.4.45-1.w6 will be an update 
--> Running transaction check 
---> Package php54w.x86_64 0:5.4.40-1.w6 will be updated 
---> Package php54w.x86_64 0:5.4.45-1.w6 will be an update 
---> Package php54w-bcmath.x86_64 0:5.4.40-1.w6 will be updated 
---> Package php54w-bcmath.x86_64 0:5.4.45-1.w6 will be an update 
---> Package php54w-cli.x86_64 0:5.4.40-1.w6 will be updated 
---> Package php54w-cli.x86_64 0:5.4.45-1.w6 will be an update 
---> Package php54w-dba.x86_64 0:5.4.40-1.w6 will be updated 
---> Package php54w-dba.x86_64 0:5.4.45-1.w6 will be an update 
---> Package php54w-gd.x86_64 0:5.4.40-1.w6 will be updated 
---> Package php54w-gd.x86_64 0:5.4.45-1.w6 will be an update 
---> Package php54w-mbstring.x86_64 0:5.4.40-1.w6 will be updated 
---> Package php54w-mbstring.x86_64 0:5.4.45-1.w6 will be an update 
---> Package php54w-pdo.x86_64 0:5.4.40-1.w6 will be updated 
---> Package php54w-pdo.x86_64 0:5.4.45-1.w6 will be an update 
---> Package php54w-xml.x86_64 0:5.4.40-1.w6 will be updated 
---> Package php54w-xml.x86_64 0:5.4.45-1.w6 will be an update 
--> Processing Conflict: php54w-common-5.4.45-1.w6.x86_64 conflicts php-common < 5.4.0 
--> Finished Dependency Resolution 
Error: php54w-common conflicts with php-common-5.3.3-46.el6_6.x86_64 
You could try using --skip-broken to work around the problem 
You could try running: rpm -Va --nofiles --nodigest 

另一位用戶運行5.3的時候就因此不得不問題,嘗試了他們的建議與變化沒有運氣。錯誤的最後兩行作出建議,但不想嘗試,服務器可能產生負面影響隨機命令。任何想法或我可以提供的更多信息?

要注意,最終要安裝SSH2,但需要PHP-devel的。

+0

看起來像php-devel已經過時了,因爲PHP甚至超過了5.4。當然,WTH是否需要PHP?還有一個討厭CentOS的理由。 不是你。只是CentOS。我也必須爲幾個項目運行它...... –

+0

相信我我討厭CentOS。我爲我的所有項目使用Ubuntu,因此以前沒有遇到過這些奇怪的事情。盡力幫助另一個人,但是如果可以的話,儘可能解決他們的問題。聽起來像它可能更麻煩,它是值得的。 – cchiera

回答

1

您需要卸載所有PHP 5.3的。

sudo yum erase php-common 

應該刪除所有的PHP-5.3包。

+0

由於這是一個實時服務器,我不想刪除任何可能會取消WordPress網站的軟件包。雖然大概它運行5.4.40(因爲這是服務器說的),因此刪除5.3的reminents應該不會影響,但運行yum擦除php常見的聲音,如它可能會損壞5.4文件。希望找到一個安全的替代方法來安裝php-devel,然後最終ssh2。 – cchiera

+0

使用** rpm -qa | grep php **,看看你有什麼PHP – user2182349

+0

列表中的每個項目都以php54開頭。 – cchiera

0

你可以去/etc/yum.repos.d。並刪除您可以在錯誤消息中看到的額外存儲庫。

如果不工作,嘗試通過

yum remove php-common-5.3.3-46.el6_6.x86_64

+0

打開目錄時,我看到「CentOS-Base.repo CentOS-Media.repo CentOS-Xen.repo remi.repo webtatic-archive.repo CentOS-CR.repo CentOS-SCL.repo epel.repo remi.repo〜 webtatic.repo CentOS-Debuginfo.repo CentOS-Vault.repo epel-testing.repo remi.repoOLD webtatic-testing.repo「你是否建議我刪除」webtatic.repo「? – cchiera

+0

編號試試'yum remove php-common-5.3.3-46.el6_6.x86_64'然後安裝php-devel – MohitC

+0

其實是的,試試去掉webtatic – MohitC

0

您的包裹去除PHP Error: php54w-common conflicts with php-common-5.3.3-46.el6_6.x86_64

基於關閉this forum post及以上運行rpm -qa | grep -i php意見會告訴你哪個軟件包安裝,所以你是矛盾可以確定5.3是否可以安全卸載。其他教程也建議使用yum list installed | grep php

如果您擔心生產服務器(關於生產升級的評論),請仔細檢查PHP FPM和/或Apache2/nginx配置,以檢查哪些PHP二進制文件/運行時正在運行該站點(是5.4還是5.3)進行任何更改之前。

如果你想升級PHP

要解決此衝突,只需重新嘗試的5.5安裝之前刪除有問題的包(在這種情況下5.3),與yum remove php-common-5.3.3-46.el6_6.x86_64。假設你的WordPress網站的更新和插件太多,那麼它應該是5.4 COMPAT(至少從過去幾年反正)。

如果你想添加的php-devel的,以建立一個擴展5.4

既然你提到的服務器報告其5.4(儘管有5.3仍然安裝過),那麼你可能需要遵循this SO's建議,並使開發回購5。4:yum --enablerepo=remi,remi-php54 install php-devel

+0

感謝您的詳細回覆。運行「rpm -qa | grep -i php」列出了很多版本,但都以php54開頭。另外運行時,「yum list installed | grep php」長列表的每行都以php54開頭。我試圖添加php-devel來安裝ssh2。在最後一段中,我發現鏈接線程並試圖在發佈之前啓用repo命令,但也得到了類似的錯誤。你會推薦,然後我嘗試百勝餐飲公司刪除php-common-5.3 ....? – cchiera

+0

我只是想, 「百勝刪除PHP-共5.3.3-46.el6_6.x86_64」,它說,「包(S)PHP-共5.3.3-46.el6_6.x86_64可用,但尚未安裝。沒有標記爲刪除的軟件包「 – cchiera

+0

您的目標是安裝5.4 devel嗎?如果是這樣,你的蹤跡顯示其解決5.3。您是否按照我建議的解決方案的最後一段啓用了回購? – developerjack

0

您應該運行:

yum install php54w-devel 

所以當安裝php-extension有錯誤:

*-common conflicts with php-common-5.3.3-46.el6_6.x86_64 

只需鍵入*-extension

例子:

有錯誤

Error: php56u-common conflicts with php-common-5.3.3-46.el6_7.1.x86_64 

,那麼你應該運行

yum install php56u-fpm 

此錯誤的原因是你安裝了PHP版本不匹配系統回購版本。所以yum得到了系統回購版的一個版本,但是這與您安裝的php版本不兼容。當你具體的PHP版本,百勝得到正確的版本,太高興了!

1

您需要使用這個命令來安裝PHP-devel的:

對於普通用戶

$ sudo yum install php54w-devel

根用戶

$ yum install php54w-devel

您看到這個錯誤是由於你的PHP版本。我也面臨同樣的問題,我嘗試了這些代碼,它適用於我。