无法在CentOS上安装PHP包

Tom*_*ght 8 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
Run Code Online (Sandbox Code Playgroud)

我一直在关注这个教程

我有点卡住了.我试过删除httpd,重新安装httpd,似乎没有解决这个问题.当我禁用remi并尝试安装PHP 5.4时,我甚至会收到错误.

关于从哪里去的任何想法?

我正在运行CentOS Linux 7.1.1503版(核心版)

Tom*_*ght 20

我修好了它!问题是我安装了错误的EL版本.我删除了所有额外的repo,删除了所有的php包,删除了httpd.如下:

yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum clean
yum update
Run Code Online (Sandbox Code Playgroud)

然后我可以使用以下方法安装PHP

yum install php56w php56w-opcache php56w-mcrypt php56w-pdo php56w-mysql
Run Code Online (Sandbox Code Playgroud)

  • "sudo yum clean all"似乎是我案件的关键 (10认同)

小智 5

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

sudo yum clean all   // to clear all caches
Run Code Online (Sandbox Code Playgroud)

清除缓存后再次安装php70使用:

sudo yum install php70
Run Code Online (Sandbox Code Playgroud)