在CentOs 5上安装/启用PHP Pecl Intl扩展


8

原始问题:

我在CentOs 5机器上安装PHP Pecl Intl扩展时遇到问题。

安装完这两个命令后,iculibicu使用以下命令:

$ yum install icu
$ yum install libicu

我试图像这样安装Intl扩展:

$ /usr/bin/pecl install intl

我选择搜索ICU库和头文件的默认位置。它最终像这样崩溃:

checking whether to enable internationalization support... yes, shared
checking for icu-config... no
checking for location of ICU headers and libraries... not found
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
ERROR: `/tmp/pear/temp/intl/configure --with-icu-dir=DEFAULT' failed

更新

在成功安装RusAlex(感谢RusAlex)建议的icu开发版本后,如下所示:

$ yum install libicu-devel

我遇到了一个新问题,我在本地也遇到了以下命令:

$ /usr/bin/pecl install intl

现在会产生此错误:

 /private/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:96: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:101: error: duplicate 'static'
 /private/tmp/pear/temp/intl/collator/collator_class.c:107: error: duplicate 'static'
 make: *** [collator/collator_class.lo] Error 1
 ERROR: `make' failed

它似乎与已经与Intl捆绑在一起的PHP 5.3有关。但是,如果我在PHP信息中查找到找不到任何引用,该如何启用该扩展...

Answers:


11
sudo yum install libicu
sudo yum install libicu-devel.x86_64
sudo /usr/bin/pecl install intl
sudo echo 'extension=intl.so' >> /etc/php.ini

而且你很好。最好手动输入extension = intl.so到php.ini,甚至更优雅地在/etc/php.d/目录中创建一个新的.ini文件。


为我工作。使用CPanel的Centos 5.8 x86_64。
djskinner

对我来说,在第3行:sudo / usr / bin / pecl install intl它说“找不到命令”,请问我有什么遗漏吗?
Dashrath


3

这在CentOS 5.6上对我有用:

yum install gcc gcc-cpp gcc-c++

之后,所有与错误有关的错误intl消失了



1
  1. /usr/bin/pecl install intl

  2. 搜索日志checking for icu-config... /usr/bin/icu-config*
    您需要/bin/icu-config稍后具有的目录路径。

  3. 下载php:

    wget http://us2.php.net/get/php-5.3.6.tar.gz/from/jp.php.net/mirror

    tar xvzf php-5.3.6.tar.gz

    cd php-5.3.6/ext/intl/

  4. 编译并安装国际模块。phpize

    ./configure --enable-intl --with-icu-dir=/usr

    make

    make test

    sudo make install

  5. 最后,附加extension=intl.so到中php.ini


1

似乎您需要安装icu-devicu-devel打包或类似的东西。

您需要开发包。


谢谢,这使我更进一步,我对帖子进行了相应更新。仅供参考:安装我使用的开发版本的命令是$ yum install libicu-devel
Marijn Huizendveld 2010年


0

我在CentOS上遇到了同样的问题,并且在以下情况下通过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++

(gcc,gcc-cpp和gcc-c ++为yuri +1,对不起,由于没有评分,所以无法发表评论)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.