我正在尝试更新我的 vagrant box 以使用 PHP 5.6,并且我基本上在命令行上执行以下过程。
- sudo yum remove php* (删除 PHP)
- 获得http://rpms.famillecollet.com/enterprise/remi-release-6.rpm(安装最新的 remi repo:)rpm -Uvh remi-release-6*.rpm
- 安装 php php-common php-devel php-fpm php-gd php-mbstring php-mcrypt php-mysqlnd php-pdo php-pear php-soap php-xml php-pecl-apcu php-pecl-xdebug php-pecl-amqp
前两个步骤似乎很好,但是在执行“安装过程”的最后一步时出现以下错误:
Error: php56w-common conflicts with php-common-5.3.3-46.el6_6.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
我需要所有与 PHP 5.6 兼容的上述模块,有人可以建议我下一步该怎么做才能让它正常工作吗?
答案1
你应该做
sudo yum install php56w php56w-common
...
代替
sudo yum install php php-common
,...
答案2
使用 remi 存储库,您需要启用与所需版本匹配的存储库,因此对于 5.6:
yum-config-manager --enable remi-php56
然后使用常用的 yum 命令。
答案3
大家好 - 在阅读你们的帖子之前我已经找到了解决方案,因此使用了此网站上的方法
https://www.mojowill.com/geek/howto-install-php-5-4-5-5-or-5-6-on-centos-6-and-centos-7/
简而言之,我做了以下事情:
CentOS 6 安装
wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
启用 repo 修改/etc/yum.repos.d/remi.repo文件
[remi]
name=Les RPM de remi pour Enterprise Linux 6 - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
然后在同一个文件中有一个 php56 部分,我将启用标志从 0 设置为 1,然后就好了!下次我运行 yumo install 命令时,一切都顺利通过,没有任何错误。
例如
sudo yum install php php-gd php-mysql php-mcrypt