开发者

Can't get to install 'intl' extension for php on debian

开发者 https://www.devze.com 2023-03-21 11:23 出处:网络
I have a Debian server and I want to install the intl extension through pecl. During the installation it asks me:

I have a Debian server and I want to install the intl extension through pecl.

During the installation it asks me:

"Specify where ICU libraries and headers can be found [DEFAULT] :"

Here I've been trying several options, including leaving it empty to use DEFAULT, but I get the following error:

configure: error: C++ preprocessor "/lib/cpp" fails sanity check See 'config.log' for more details. ERROR: '/tmp/pear/t开发者_如何学JAVAemp/intl/configure --with-icu-dir=DEFAULT' failed

I've installed php5.3 with: make && make install. I have already installed icu, but unlike php5.3, it was installed with apt-get (i don't know if this is important).

Any idea?


On Ubuntu 12.04 LTS, the following worked for me:

sudo apt-get install php5-intl
sudo /etc/init.d/apache2 restart

Bam, warning gone! Hope this helps somebody in the future :)


You need to install libicu44 and libicu-dev:

apt-get install libicu44 libicu-dev

and after this you can install intl with pecl:

./pecl install intl

Note if using Ubuntu:

It lLooks like the first package libicu44 is not available, in which case just install libicu-dev and it will go through the dependencies and handle it for you. Seems to use libicu42 at the moment.


Same error:

/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'

But when reading the intl native extension comments, I saw:

Debian Squeeze users can install the intl extension with:

sudo apt-get install php5-intl

first comment

The package works even with my old Ubuntu 8.04...


Installing g++ sudo apt-get install g++ before sudo ./pecl install intl did the trick for me.


I knew this sounded familiar; I had the same problem back in May 2008, discussed here: http://old.nabble.com/ubuntu-7.10-pecl-install-intl-p17140873.html

Ed Batutis explained that "/usr" is the correct answer if you have icu-config at "/usr/bin/icu-config"; adjust accordingly if it is somewhere else.

However that didn't help for me. I described the solution for me here: http://darrendev.blogspot.com/2008/05/install-php-pecl-intl-module-for-ubuntu.html ...which was basically to define the PHP_SETUP_ICU macro. That was supposed to be added in 5.2.4, so as you are using php 5.3 your problem ought to be something else.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号