如何在CentOS上安装PHP intl扩展?

时间:2013-02-04 03:34:18

标签: php centos install yum php-extension

我几乎不知道安装包。通过遵循一个非常具体的教程,我设法用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扩展程序吗?

4 个答案:

答案 0 :(得分:24)

由于您有来自remi存储库的php-commom,您还需要从remi获取php-intl。

添加--enable-repo选项,如下所示:

yum --enablerepo=remi install php-intl

答案 1 :(得分:8)

如果你有更高的PHP版本,如5.6,则必须同时启用remiremi-php56 repos来安装所有其他依赖项:

yum --enablerepo=remi,remi-php56 install php-intl

答案 2 :(得分:1)

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)。

我认为你有两种选择。 (作为一个新手,我不会在没有在开发环境中练习的情况下尝试这些。)

1)删除remi包

引用超级用户的类似问题。 “尝试删除所有remi php软件包,禁用remi存储库并安装默认的centos 6 php 5.3.3软件包。”

https://superuser.com/questions/505340/centos-6-how-to-install-php-mysql-when-php-common-remi-is-present

2)将php-common降级为5.3.3-14版本

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条结果)

答案 3 :(得分:0)

使用7.0的php

#list all options    
$ sudo yum list php7*intl

#install
$ sudo yum install php70-intl