2015-05-10 63 views
7

我在通過yum在我的數字海洋託管服務器上重新安裝PHP時遇到問題。無法在CentOS上安裝PHP軟件包

我安裝了PHP 5.4,但想要5.6。我添加/啓用了remi repo,運行yum -y remove php*,然後嘗試重新安裝php。

當我運行yum -y install php我得到如下:

Loaded plugins: fastestmirror 
Loading mirror speeds from cached hostfile 
* base: mirrors.centos.webair.com 
* epel: mirrors.coreix.net 
* extras: mirrors.centos.webair.com 
* remi: remi.check-update.co.uk 
* remi-php56: remi.check-update.co.uk 
* updates: mirrors.centos.webair.com 
* webtatic: uk.repo.webtatic.com 
Resolving Dependencies 
--> Running transaction check 
---> Package php.x86_64 0:5.6.8-1.el6.remi will be installed 
--> Processing Dependency: php-common(x86-64) = 5.6.8-1.el6.remi for package: php-5.6.8-1.el6.remi.x86_64 
--> Processing Dependency: php-cli(x86-64) = 5.6.8-1.el6.remi for package: php-5.6.8-1.el6.remi.x86_64 
--> Processing Dependency: httpd-mmn = 20051115 for package: php-5.6.8-1.el6.remi.x86_64 
--> Running transaction check 
---> Package php.x86_64 0:5.6.8-1.el6.remi will be installed 
--> Processing Dependency: httpd-mmn = 20051115 for package: php-5.6.8-1.el6.remi.x86_64 
---> Package php-cli.x86_64 0:5.6.8-1.el6.remi will be installed 
---> Package php-common.x86_64 0:5.6.8-1.el6.remi will be installed 
--> Processing Dependency: php-pecl-zip(x86-64) for package: php-common-5.6.8-1.el6.remi.x86_64 
--> Processing Dependency: php-pecl-jsonc(x86-64) for package: php-common-5.6.8-1.el6.remi.x86_64 
--> Running transaction check 
---> Package php.x86_64 0:5.6.8-1.el6.remi will be installed 
--> Processing Dependency: httpd-mmn = 20051115 for package: php-5.6.8-1.el6.remi.x86_64 
---> Package php-pecl-jsonc.x86_64 0:1.3.7-1.el6.remi.5.6 will be installed 
---> Package php-pecl-zip.x86_64 0:1.12.5-1.el6.remi.5.6 will be installed 
--> Finished Dependency Resolution 
Error: Package: php-5.6.8-1.el6.remi.x86_64 (remi-php56) 
      Requires: httpd-mmn = 20051115 
      Installed: httpd-2.4.6-31.el7.centos.x86_64 (@base) 
       httpd-mmn = 20120211 
       httpd-mmn = 20120211x8664 
       httpd-mmn = 20120211-x86-64 
You could try using --skip-broken to work around the problem 
You could try running: rpm -Va --nofiles --nodigest 

我一直在關注this tutorial

我有點卡住了。我已經嘗試刪除httpd,重新安裝httpd,似乎沒有什麼解決這個問題。我甚至在我禁用remi並嘗試安裝PHP 5.4時遇到錯誤。

任何想法去哪裏從這裏?

我運行CentOS的Linux的發佈1503年7月1日(核心)

回答

17

我定了!問題在於我安裝了錯誤的EL版本。 我刪除了所有我的額外回購,刪除所有的PHP軟件包,刪除httpd。 冉以下幾點:

yum install epel-release 
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 
yum clean 
yum update 

當時我能夠利用安裝PHP以下

yum install php56w php56w-opcache php56w-mcrypt php56w-pdo php56w-mysql 
+8

'sudo yum clean all'似乎是我的案例中的關鍵 –

0

雖然這可能適合serverfault或高級用戶更好,我還是會回答。

這是根據經驗和每一次工作,如果按照指示完成。

要安裝,首先你必須添加Webtatic EL yum軟件庫對應你的CentOS/RHEL版本百勝 信息:

的CentOS/RHEL 7.x版:

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm 
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 

然後你可以像這樣安裝你的每個包:

yum install php56w-<package name> 

不要忘記php56w前綴。

來源:https://webtatic.com/packages/php56/


試試這個(在問候評論):

yum update -y; yum remove httpd && yum install httpd; yum install php56w-common php56w-opcache php56w-mysql 
+0

我只是做:)恐怕不行。我現在得到以下內容:http://pastebin.com/M2tAjH6K –

+0

我剛剛運行yum install php56w-common手動安裝好了,但現在我得到相同的舊「必需:httpd-mmn = 20051115」 –

+0

我爲了檢查它是否有效,我們會在帖子中添加更多內容。 – SysVoid

1

我也遇到了同樣的問題,而我的Linux機器上安裝php70w(webstatic)。下面的命令幫我清除緩存後安裝php70

sudo yum clean all // to clear all caches 

再次使用安裝php70:

sudo yum install php70