原始问题:

原始问题:

原始问题:

我在 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

更新

按照提示成功安装 icu 开发版本后罗斯亚历克斯(感谢 RusAlex)就像这样:

$ 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 信息,却找不到任何关于它的引用...

答案1

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 文件。

答案2

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

如果您使用 YUM 安装了 PHP,那么您可以直接拉下 intl 包:

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

答案3

这在 CentOS 5.6 上对我有用:

yum install gcc gcc-cpp gcc-c++

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

答案4

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

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

    make

    make test

    sudo make install

  5. 最后,附加extension=intl.sophp.ini

相关内容