Ответ 1
В Ubuntu 12.04 LTS для меня работало следующее:
sudo apt-get install php5-intl
sudo /etc/init.d/apache2 restart
Бам, предупреждение ушло! Надеюсь, это поможет кому-то в будущем:)
У меня есть debian-сервер, и я хочу установить расширение "intl" через pecl.
Во время установки он спрашивает меня: "Укажите, где можно найти библиотеки и заголовки ICU [DEFAULT]:" Здесь я пытаюсь несколько вариантов, в том числе оставить его пустым, чтобы использовать DEFAULT, но я получаю следующую ошибку:
configure: ошибка: препроцессор С++ "/lib/cpp" не выполняет проверку работоспособности
См. config.log' for more details.
ERROR:
/tmp/pear/temp/intl/configure --with-icu-dir = DEFAULT 'failed
Я установил php5.3 с помощью: make && сделать установку. Я уже установил "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, ваша проблема должна быть чем-то еще.