CentOS7上安装PHP7时出现错误

3

参考文档:https://webtatic.com/packages/php70/

PHP 7.0.0于2015年12月3日发布在PHP.net上,同时在Webtatic的测试库中也可通过Yum获取CentOS/RHEL 6.7和7.1版本。

我在安装php7时遇到了以下错误:

[root]# yum install php70w php70w-opcache

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * epel: ftp.riken.jp
 * extras: ftp.riken.jp
 * updates: ftp.riken.jp
 * webtatic: sp.repo.webtatic.com
Resolving Dependencies
--> Running transaction check
---> Package php70w.x86_64 0:7.0.0-1.w6 will be installed
--> Processing Dependency: php70w-common(x86-64) = 7.0.0-1.w6 for package: php70w-7.0.0-1.w6.x86_64
--> Processing Dependency: php70w-cli(x86-64) = 7.0.0-1.w6 for package: php70w-7.0.0-1.w6.x86_64
--> Processing Dependency: php70w-cli = 7.0.0-1.w6 for package: php70w-7.0.0-1.w6.x86_64
--> Processing Dependency: httpd-mmn = 20051115 for package: php70w-7.0.0-1.w6.x86_64
---> Package php70w-opcache.x86_64 0:7.0.0-1.w6 will be installed
--> Running transaction check
---> Package php70w.x86_64 0:7.0.0-1.w6 will be installed
--> Processing Dependency: httpd-mmn = 20051115 for package: php70w-7.0.0-1.w6.x86_64
---> Package php70w-cli.x86_64 0:7.0.0-1.w6 will be installed
---> Package php70w-common.x86_64 0:7.0.0-1.w6 will be installed
--> Processing Dependency: libgmp.so.3()(64bit) for package: php70w-common-7.0.0-1.w6.x86_64
--> Processing Conflict: php70w-common-7.0.0-1.w6.x86_64 conflicts php-common < 5.5.0
--> Finished Dependency Resolution
Error: Package: php70w-7.0.0-1.w6.x86_64 (webtatic)
           Requires: httpd-mmn = 20051115
           Installed: httpd-2.4.6-31.el7.centos.1.x86_64 (@updates)
               httpd-mmn = 20120211
               httpd-mmn = 20120211x8664
               httpd-mmn = 20120211-x86-64
           Available: httpd-2.4.6-31.el7.centos.x86_64 (base)
               httpd-mmn = 20120211x8664
               httpd-mmn = 20120211-x86-64
               httpd-mmn = 20120211
Error: php70w-common conflicts with php-common-5.4.16-36.el7_1.x86_64
Error: Package: php70w-common-7.0.0-1.w6.x86_64 (webtatic)
           Requires: libgmp.so.3()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

如何在CentOS7上安装PHP7?


安装旧版本的软件包通常不是一个好主意。如果你真的需要旧版本的 php,而这个版本需要旧版本的 httpd-mmn,可以尝试使用 yum downgrade php70w-7.0.0-1.w6.x86_64 命令进行降级。如果这个命令不起作用,可以先尝试降级 httpd*,或者考虑替换 php。最后一招是在安装 php70w 之前卸载已安装的 php - alvits
感谢您的建议 :) 成功在CentOS7上安装了PHP7。解决方法 ==> 1.清除yum -> 2.yum安装yum-plugin-replace -> 3.替换php-common、php-xml -> 4.安装php7。 - suspreme-dev
1个回答

2
我发现使用Remi的仓库http://rpms.famillecollet.com/比删除已有的软件包更容易/安全,这是一个有效的解决方案。
以下是我用来解决问题的步骤(选择最接近您的镜像):
rpm -Uvh http://mirror.innosol.asia/remi/enterprise/remi-release-7.rpm
yum install php70
yum install php70-php-mysqlnd php70-php-devel php70-php-gd php70-php-mcrypt php70-php-mbstring php70-php-pear php70-php-pecl-imagick php70-php-pecl-zip

请注意,这是开发服务器所需的内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接