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

原始问题:

我无法在我的CentOs 5机器上安装PHP Pecl Intl扩展。

用以下命令安装iculibicu之后:

 $ yum install icu $ yum install libicu 

我试图安装Intl扩展,如下所示:

 $ /usr/bin/pecl install intl 

我selectsearchICU库和头文件的默认位置。 它最终崩溃像这样:

 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)build议的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 

这似乎与PHP 5.3已经与Intl捆绑在一起。 但是我怎么能启用这个扩展,如果我看我的PHP信息比我找不到任何参考…

 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 

你很好走。 最好手动inputextension = intl.so到php.ini,或者更优雅地在/etc/php.d/目录下创build一个新的.ini文件。

你是对的,你不能安装PECL包,因为从PHP 5.3起,Intl是PHP的一部分 。

如果你使用YUM安装PHP,你可以直接下载intl包:

 > yum list php*intl > yum install <file_from_above> 

这在CentOS 5.6上为我工作:

 yum install gcc gcc-cpp gcc-c++ 

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

所有你需要的是

 yum install libicu-devel 
  1. /usr/bin/pecl install intl

  2. search日志checking for icu-config... /usr/bin/icu-config*
    您将需要稍后具有/bin/icu-config的目录path。

  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. 编译并安装intl模块。 phpize

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

    make

    make test

    sudo make install

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

看来你需要安装icu-devicu-devel软件包或类似的东西。

你需要开发包。

你有gcc,gcc-cpp和gcc-c ++的安装…至less在安装过程中是我的问题之一 – http://itblogspot.net/php-install-intl

我在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,抱歉不能评论)