Не удается установить расширение 'intl' для php на debian - PullRequest
22 голосов
/ 18 июля 2011

У меня есть сервер Debian, и я хочу установить расширение "intl" через pecl.

Во время установки спрашивает меня: «Укажите, где можно найти библиотеки и заголовки ICU [DEFAULT]:» Здесь я пробовал несколько вариантов, в том числе оставляя пустым использование DEFAULT, но я получаю следующую ошибку:

configure: ошибка: препроцессор 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 ]

39 голосов
/ 11 июня 2013

На Ubuntu 12.04 LTS у меня сработало следующее:

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

Бэм, предупреждение исчезло! Надеюсь, это поможет кому-нибудь в будущем:)

20 голосов
/ 21 августа 2012

Вам необходимо установить libicu44 и libicu-dev:

apt-get install libicu44 libicu-dev

и после этого вы можете установить intl с pecl:

./pecl install intl

Примечание при использовании Ubuntu:

Похоже, что первый пакет libicu44 недоступен, в этом случае просто установите libicu-dev, и он пройдет через зависимости и обработает его для вас. Кажется, сейчас используется libicu42.

12 голосов
/ 20 июля 2011

Та же ошибка:

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

Но при чтении комментариев собственного внутреннего расширения я увидел:

Пользователи Debian Squeeze могут установить расширение int с помощью:

sudo apt-get install php5-intl

первый комментарий

Пакет работает даже с моей старой Ubuntu 8.04 ...

2 голосов
/ 16 мая 2013

Установка g ++ sudo apt-get install g++ до того, как sudo ./pecl install intl сделала свое дело.

1 голос
/ 10 августа 2011

Я знал, что это звучит знакомо; У меня была такая же проблема еще в мае 2008 года, обсуждаемая здесь: http://old.nabble.com/ubuntu-7.10-pecl-install-intl-p17140873.html

Эд Батутис объяснил, что "/ usr" является правильным ответом, если у вас есть icu-config в "/ usr / bin / icu-config"; отрегулируйте соответственно, если оно где-то еще.

Однако это не помогло мне. Я описал решение для меня здесь: http://darrendev.blogspot.com/2008/05/install-php-pecl-intl-module-for-ubuntu.html ... который был в основном для определения макроса PHP_SETUP_ICU. Это должно было быть добавлено в 5.2.4, так как вы используете php 5.3, ваша проблема должна быть чем-то другим.

...