我有一台Debian服务器,我想通过pecl
安装intl
扩展。
在安装过程中,它问我:
"指定可以找到ICU库和头文件的位置[DEFAULT]:"
在这里,我一直在尝试几个选项,包括将其留空以使用DEFAULT,但我得到以下错误:
configure: c++ preprocessor "/lib/cpp"完整性检查失败参见'config.log'查看更多细节。错误:"/tmp/梨/temp/intl/配置——with-icu-dir =默认的失败
我已经安装php5.3与:make && make install
。我已经安装了icu
,但不像php5.3,它安装了apt-get
(我不知道这是否重要)。
任何想法?
在Ubuntu 12.04 LTS上,以下操作为我工作:
sudo apt-get install php5-intl
sudo /etc/init.d/apache2 restart
砰,警告消失了!希望这对将来的人有所帮助:)
您需要安装libicu44和libicu-dev:
apt-get install libicu44 libicu-dev
之后,你可以用pecl:
安装intl./pecl install intl
如果使用Ubuntu请注意:
看起来第一个包libicu44
不可用,在这种情况下,只需安装libicu-dev
,它将遍历依赖项并为您处理它。目前似乎使用libicu42
同样的错误:
/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'
但是当我阅读intl本机扩展注释时,我看到:
Debian Squeeze用户可以安装intl扩展:
sudo apt-get install php -intl
第一次评论
在sudo ./pecl install intl
之前安装g++ sudo apt-get install g++
对我来说很有效。
我知道这听起来很熟悉;我在2008年5月也遇到过同样的问题,讨论如下:http://old.nabble.com/ubuntu - 7.10 - pecl -安装- intl p17140873.html
Ed Batutis解释说,如果你在"/usr/bin/icu-config"下有icu-config,"/usr"是正确的答案;如果在其他地方,请相应地调整。
然而,这对我没有帮助。我在这里描述了我的解决方案:http://darrendev.blogspot.com/2008/05/install-php-pecl-intl-module-for-ubuntu.html…基本上就是定义PHP_SETUP_ICU宏。这应该是在5.2.4中添加的,所以当你使用php 5.3时,你的问题应该是别的东西。