无法在CentOS上安装PHP包

时间:2015-05-10 17:10:56

标签: php linux centos yum

我无法在我的数字海洋托管的服务器上通过yum重新安装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 7.1.1503版(核心版)

3 个答案:

答案 0 :(得分:20)

我修好了!问题是我安装了错误的EL版本。 我删除了所有额外的repo,删除了所有的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

答案 1 :(得分:5)

我在linux机器上安装php70w(webstatic)时也遇到了同样的问题。以下命令帮助我安装php70

sudo yum clean all   // to clear all caches

清除缓存后再次使用:

安装php70
sudo yum install php70

答案 2 :(得分:0)

虽然这可能更适合服务器故障或poweruser,但我仍然会回答。

这是基于经验,如果按照指示完成,则每次都有效。

  

要安装,首先必须添加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