2013-02-04 88 views
17

我都不了解一样安装软件包。我设法用yum安装了Zend Framework 1,而后面是一个非常具体的教程。如何在CentOS上安装PHP intl扩展?

现在我需要的PHP扩展国际,我无法弄清楚如何安装它。

我做

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 

我没有尝试的消息中提到的建议,因为我不知道他们会做什么,我怕打破一些东西。这是一台生产机器,我没有另一台机器进行测试。我试图找到一个rpm下载,这是我的PHP相同的版本,但没有运气。

什么上述两项建议做的,是他们安全试试? 还有什么我可以尝试让安装在国际扩展?

回答

20

当你有PHP-黎民从雷米库,你需要从雷米让PHP-国际机场也。

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

yum --enablerepo=remi install php-intl 
+0

我无法测试此,因为remi现在是PHP 5.4,我还没准备好升级。但是答案总是有意义的,我认为当remi仍然是PHP 5.3.x时它会得到期望的结果。 – toxalot

+0

你说得对,我得到了同样的错误信息,但我有PHP 5.4 –

1

百胜是因为我们正试图更新多个包版本的冲突引发错误。你的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常见(5.3.17-2)的较新版本比是由PHP-国际允许的。

我认为你有两个选择。 (作为一个新手我自己,我也没有在开发环境实践尝试这些。)

1)拆下雷米包

从超级用户类似的问题引用。 “尝试删除所有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共同5.3.3-14版本

yum downgrade php-common 

我不知道,如果你会遇到更多的依赖问题,有降级其他包。我在这里找到更多细节。

https://www.centos.org/modules/newbb/viewtopic.php?topic_id=40567&forum=56

其他堆栈交易所网站上显示了类似的问题。

https://serverfault.com/search?q=centos+error+package(370个结果)

https://unix.stackexchange.com/search?q=centos+error+package(57结果)

6

如果你有更高的PHP版本,例如5.6,则必须同时启用remiremi-php56回购全部安装额外的依赖关系:

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

我使用以下步骤通过pecl成功安装INTL。

1)安装ICU &库:

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++

这是为me.my php版本工作是5.6.12