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

问题描述 投票:22回答:5

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

php centos install yum php-extension
5个回答
24
投票

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

添加--enable-repo选项如下:

yum --enablerepo=remi install php-intl

8
投票

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

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

2
投票

我使用以下步骤通过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


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) Remove remi Packages

引用超级用户的类似问题。 “尝试删除所有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) Downgrade php-common to Version 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结果)


1
投票

对于php 7.0使用

#list all options    
$ sudo yum list php7*intl

#install
$ sudo yum install php70-intl
© www.soinside.com 2019 - 2024. All rights reserved.