Оригинальный вопрос:
У меня проблемы с установкой расширения PHP Pecl Intl на моем компьютере CentOs 5.
После установки icu
и libicu
с помощью следующих команд:
$ yum install icu
$ yum install libicu
Я попытался установить расширение Intl так:
$ /usr/bin/pecl install intl
Я выбрал для поиска расположение по умолчанию для библиотек ICU и заголовочных файлов. Это заканчивается тем, что падает так:
checking whether to enable internationalization support... yes, shared
checking for icu-config... no
checking for location of ICU headers and libraries... not found
configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works.
ERROR: `/tmp/pear/temp/intl/configure --with-icu-dir=DEFAULT' failed
Обновить
После успешной установки разрабатываемой версии icu по предложению RusAlex (спасибо RusAlex), вот так:
$ yum install libicu-devel
Я столкнулся с новой проблемой, с которой я также столкнулся локально с помощью следующей команды:
$ /usr/bin/pecl install intl
Теперь выдает эту ошибку:
/private/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'
/private/tmp/pear/temp/intl/collator/collator_class.c:96: error: duplicate 'static'
/private/tmp/pear/temp/intl/collator/collator_class.c:101: error: duplicate 'static'
/private/tmp/pear/temp/intl/collator/collator_class.c:107: error: duplicate 'static'
make: *** [collator/collator_class.lo] Error 1
ERROR: `make' failed
Похоже, что-то связано с тем, что PHP 5.3 уже связан с Intl. Но как я могу включить это расширение, если я посмотрю в своей PHP Info, чем я не могу найти ссылку на него ...
источник
Вы правы, вы не можете установить пакет PECL, потому что с PHP 5.3 Intl является частью PHP .
Если вы установили PHP с использованием YUM, вы можете просто развернуть пакет intl:
источник
Это работало для меня на CentOS 5.6:
После этого
intl
исчезли все ошибки, связанные систочник
все, что тебе нужно
источник
/usr/bin/pecl install intl
Поиск в журнале
checking for icu-config... /usr/bin/icu-config*
.Вам понадобится путь к каталогу, который есть
/bin/icu-config
позже.Скачать php:
wget http://us2.php.net/get/php-5.3.6.tar.gz/from/jp.php.net/mirror
tar xvzf php-5.3.6.tar.gz
cd php-5.3.6/ext/intl/
скомпилируйте и установите модуль intl. phpize
./configure --enable-intl --with-icu-dir=/usr
make
make test
sudo make install
Наконец, добавить
extension=intl.so
вphp.ini
.источник
Кажется, вам нужно установить
icu-dev
илиicu-devel
упаковать или что-то подобное.Вам нужен пакет разработки.
источник
$ yum install libicu-devel
у вас установлены gcc, gcc-cpp и gcc-c ++ ... По крайней мере, это была одна из моих проблем во время установки - http://itblogspot.net/php-install-intl
источник
У меня была та же проблема с CentOS, и я успешно установил INTL через pecl после:
1) установить icu & libs:
2) пакет php-devel и phpize:
3) и, конечно же, gcc:
(+1 к юри за gcc, gcc-cpp и gcc-c ++, извините, не могу комментировать из-за отсутствия рейтинга)
источник