我对安装包几乎一无所知。通过遵循一个非常具体的教程,我设法用yum安装了Zend Framework 1。
现在我需要PHP intl扩展,我无法弄清楚如何安装它。
我做到了
yum list php*intl
并看到有一个可用。所以我做了
yum install php-intl
并收到以下错误消息:
Error: Package: php-intl-5.3.3-14.el6_3.x86_64 (updates)
Requires: php-common = 5.3.3-14.el6_3
Installed: php-common-5.3.17-2.el6.remi.x86_64 (@remi)
php-common = 5.3.17-2.el6.remi
Available: php-common-5.3.3-3.el6_2.8.x86_64 (base)
php-common = 5.3.3-3.el6_2.8
Available: php-common-5.3.3-14.el6_3.x86_64 (updates)
php-common = 5.3.3-14.el6_3
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
我没有尝试消息中提到的建议,因为我不知道他们会做什么,我害怕破坏某些东西。这是一台生产机器,我没有其他机器可供测试。我试图找到一个与我的PHP版本相同的rpm,但没有运气。
这两个建议做了什么,是否可以安全地尝试?我还可以尝试安装intl扩展程序吗?
由于您有来自remi存储库的php-commom,您还需要从remi获取php-intl。
添加--enable-repo
选项如下:
yum --enablerepo=remi install php-intl
如果你有更高的PHP版本,如5.6,你必须启用remi
和remi-php56
repos来安装所有其他依赖项:
yum --enablerepo=remi,remi-php56 install php-intl
我使用以下步骤通过pecl成功安装了INTL。
1)安装icu和libs:
yum -y install icu libicu libicu-devel
2)php-devel包和phpize:
yum -y install php-devel phpize
3)当然是gcc:
yum -y install gcc gcc-cpp gcc-c++
这对我有用。我的php版本是5.6.12
Yum正在抛出错误,因为我们正在尝试将多个包更新为冲突的版本。你的yum输出说php-intl需要特定版本的php-common。删除所有垃圾:
Requires 5.3.3-14
Installed 5.3.17-2
Available 1st Option: 5.3.3-3
Available 2nd Option: 5.3.3-14
这告诉我们你已经安装了一个比php-intl允许的更新版本的php-common(5.3.17-2)。
我认为你有两种选择。 (作为一个新手,我不会在没有在开发环境中练习的情况下尝试这些。)
引用超级用户的类似问题。 “尝试删除所有remi php包,禁用remi存储库并安装默认的centos 6 php 5.3.3软件包。”
yum downgrade php-common
我不知道你是否会遇到更多的依赖问题,并且不得不降级其他软件包。我在这里找到了更多细节。
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=40567&forum=56
其他Stack Exchange网站也有类似的问题。
https://serverfault.com/search?q=centos+error+package(370结果)
https://unix.stackexchange.com/search?q=centos+error+package(57结果)
对于php 7.0使用
#list all options
$ sudo yum list php7*intl
#install
$ sudo yum install php70-intl