我有一个Debian服务器,我想通过pecl安装" intl"扩展名。
在安装过程中,它询问我:
"指定可以在[DEFAULT]中找到ICU库和标头的位置:"
在这里,我一直在尝试几个选项,包括将其保留为空以使用DEFAULT,但是出现以下错误:
配置:错误: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安装的(我不知道这是否重要)。
任何想法?
我想知道ICU路径问题是否令人分心; config.log包含什么?
在Ubuntu 12.04 LTS上,以下选项对我有用:
sudo apt-get install php5-intl
sudo /etc/init.d/apache2 restart
巴姆,警告不见了!希望这对以后的人有所帮助:)
最简单的答案,当场。 支持:)
也适用于Debian。
完美运作
您需要安装libicu44和libicu-dev:
apt-get install libicu44 libicu-dev
然后,您可以使用pecl安装intl:
./pecl install intl
请注意,如果使用Ubuntu:
它看起来像第一个软件包libicu44不可用,在这种情况下,只需安装libicu-dev,它将通过依赖关系为您处理。目前似乎使用libicu42。
aptitude -y install libicu-dev就足够了,它将处理libicu*依赖项。
同样的错误:
/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'
但是在阅读国际原生扩展注释时,我看到了:
Debian Squeeze users can install the intl extension with:
sudo apt-get install php5-intl
第一条评论
该软件包甚至可以与我的旧版Ubuntu 8.04一起使用...
在sudo ./pecl install intl之前安装g ++ sudo apt-get install g++对我有用。
对我有帮助。 谢谢。 解决了一个
我非常确定安装php5-dev也会解决此问题。 在Ubuntu 14.04上,我运行了sudo apt-get install php5-dev。 IIRC此软件包包含g ++
我知道这听起来很熟悉。我在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时,您的问题应该是其他问题。
通过apt-get安装libicu-dev后,回答usr对我有用