原始问题:
我在CentOs 5机器上安装PHP Pecl Intl扩展时遇到问题.
使用以下命令安装icu和libicu之后:
$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信息比我找不到任何引用…
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文件.