无法在debian上安装php的'intl'扩展名

时间:2011-07-18 00:43:46

标签: php debian pecl intl

我有一个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安装的(我不知道这是否重要)。

有什么想法吗?

5 个答案:

答案 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

first comment

即使使用我的旧版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时,你的问题应该是别的。