原始问题:
我在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文件.