Centos6上的PHP安装冲突

Posted

技术标签:

【中文标题】Centos6上的PHP安装冲突【英文标题】:PHP installation conflicts on Centos6 【发布时间】:2015-10-13 08:26:14 【问题描述】:

我是服务器和 linux 的新手,遇到了一些问题。我正在尝试通过网络查找 linux 命令来更新我的 php。有些命令运行完美,但有些则没有。

我尝试使用此命令安装 php-gd,因为我收到此错误消息“缺少所需的 GD 库”。所以,我尝试在下面运行它:

yum install php-gd

但是,它在下面给了我这个错误消息:

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

以下是我服务器上的一些信息:

[root@uat ~]# rpm -ql php
package php is not installed

[root@uat ~]# rpm -qa php\*
php56w-pdo-5.6.11-1.w6.x86_64
php56w-5.6.11-1.w6.x86_64
php56w-cli-5.6.11-1.w6.x86_64
php56w-common-5.6.11-1.w6.x86_64
php56w-mysql-5.6.11-1.w6.x86_64

[root@uat ~]# rpm -Va php\*
S.5....T.  c /etc/php.ini
[root@uat ~]# which php
/usr/bin/php

[root@uat ~]# php -v
PHP 5.6.11 (cli) (built: Jul 10 2015 22:43:20)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

你知道我在升级我的 php 时做错了什么吗?我应该删除服务器上的所有 php 文件并重新安装吗?怎么样?

【问题讨论】:

已经通过运行“yum install php56w-gd.x86_64”解决了问题 【参考方案1】:

通过使用“yum remove php php-common”删除所有 php 解决了这个问题

并修改文件夹 /etc/yum.repos.d 下的文件名“remi.repo”,如下所示:

[remi-php56]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 6 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/6/php56/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/6/php56/mirror
# WARNING: If you enable this repository, you must also enable "remi"
enabled=1
gpgcheck=1

确保启用 php56=1。

【讨论】:

【参考方案2】:

你应该运行:

yum install php56w-gd

所以当安装php-extension 有错误:

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

只需输入*-extension

例子:

yum install php-fpm有错误

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

那么你应该运行

yum install php56u-fpm

此错误的原因是您安装的 php 版本与系统 repo 版本不匹配。所以 yum 得到一个系统 repo 的版本,但这与你安装的 php 版本不兼容。当你指定 php 版本时,yum 得到正确的版本,太高兴了!

【讨论】:

【参考方案3】:

转到 /etc/yum.repos.d。 删除您可以在完整错误消息中看到的额外存储库。 尼玛

【讨论】:

这是我所看到的,但不确定要删除/注释掉哪个 repo。 yum install php-common Loaded plugins: fastestmirror, replace Setting up Install Process Loading mirror speeds from cached hostfile * base: mirrors.advancedhosters.com * epel: mirror.cogentco.com * extras: mirror.netdepot.com * ius: mirror.symnds.com * updates: mirror.cogentco.com * webtatic: us-east.repo.webtatic.com Error: php55w-common conflicts with php-common-5.3.3-46.el6_6.x86_64 你可以尝试使用 --skip-broken 来解决这个问题 我也试过yum update,然后再安装php-mbstring【参考方案4】:

如果您使用的是 Centos 6.7 并安装了 php 5.6,则以下命令对我有用:

sudo yum install php56w-pecl-xdebug.x86_64(我安装的是xdebug,不是GD)

我通过运行yum search php56 发现了这个

【讨论】:

以上是关于Centos6上的PHP安装冲突的主要内容,如果未能解决你的问题,请参考以下文章

错误:php55w-common 与 CentOS 6.5 上的 php-common 冲突

centos6.4下安装MySQL+apache+php+phpmyadmin

如何在CentOS 6.5上升级PHP版本

Centos6.8安装cacti

centos6.4下安装php7+nginx+mariadb环境

Centos6.8安装php5.6