Не удается установить расширение 'intl' для php на debian

У меня есть debian-сервер, и я хочу установить расширение «intl» через pecl.

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

configure: error: препроцессор C ++ «/ lib / cpp» не проверяет config.log' for more details. ERROR: Подробнее см. в config.log' for more details. ERROR: 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 (я не знаю, важно ли это).

Есть идеи?

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

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

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

Вам нужно установить libicu44 и libicu-dev:

 apt-get install libicu44 libicu-dev 

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

 ./pecl install intl 

Обратите внимание, если вы используете Ubuntu:

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

Такая же ошибка:

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

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

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

sudo apt-get install php5-intl

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

Пакет работает даже с моим старым Ubuntu 8.04 …

Установка g ++ sudo apt-get install g++ перед sudo ./pecl install intl сделала трюк для меня.

Я знал, что это звучит знакомо; У меня была та же проблема еще в мае 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, ваша проблема должна быть чем-то еще.