我有一个debian服务器,我想通过pecl安装“intl”扩展名。
在安装过程中它问我: “指定可以找到ICU库和标题的位置[默认值]:” 在这里我一直在尝试几个选项,包括将它留空以使用DEFAULT,但是我收到以下错误:
configure:error:C ++预处理器“/ lib / cpp”无法进行健全性检查
见config.log' for more details.
ERROR:
/ tmp / pear / temp / intl / configure --with-icu-dir = DEFAULT'失败
我已经安装了php5.3:make&& make install。 我已经安装了“icu”,但与php5.3不同,它是用apt-get安装的(我不知道这是否重要)。
有什么想法吗?
答案 0 :(得分:39)
在Ubuntu 12.04 LTS上,以下内容对我有用:
sudo apt-get install php5-intl
sudo /etc/init.d/apache2 restart
巴姆,警告消失了!希望这有助于未来的某些人:)
答案 1 :(得分:20)
您需要安装libicu44和libicu-dev:
apt-get install libicu44 libicu-dev
然后你可以用pecl:
安装intl./pecl install intl
注意使用Ubuntu:
它看起来像第一个包libicu44
不可用,在这种情况下只需安装libicu-dev
,它将遍历依赖项并为您处理。似乎目前使用libicu42
。
答案 2 :(得分:12)
同样的错误:
/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'
但是在阅读国际原生扩展评论时,我看到了:
Debian Squeeze用户可以使用以下命令安装intl扩展名:
sudo apt-get install php5-intl
即使使用我的旧版Ubuntu 8.04,该软件包也能正常工作......
答案 3 :(得分:2)
在sudo apt-get install g++
之前安装g ++ sudo ./pecl install intl
为我做了诀窍。
答案 4 :(得分:1)
我知道这听起来很熟悉;我在2008年5月遇到了同样的问题,在这里讨论: http://old.nabble.com/ubuntu-7.10-pecl-install-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时,你的问题应该是别的。