Pergunta original:
Estou tendo problemas para instalar a extensão PHP Pecl Intl na minha máquina CentOs 5.
Após instalar ambos icu
e libicu
com os seguintes comandos:
$ yum install icu
$ yum install libicu
Tentei instalar a extensão Intl da seguinte forma:
$ /usr/bin/pecl install intl
Selecionei procurar o local padrão para as bibliotecas da ICU e os arquivos de cabeçalho. Ele acaba travando assim:
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
atualizar
Após instalar com êxito a versão de desenvolvimento do icu, conforme sugerido por RusAlex (obrigado RusAlex), é o seguinte:
$ yum install libicu-devel
Encontrei um novo problema que também encontrei localmente o seguinte comando:
$ /usr/bin/pecl install intl
agora produz este erro:
/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
Parece ter algo a ver com o PHP 5.3 já incluído no Intl. Mas como posso habilitar esta extensão, se eu procurar nas minhas informações do PHP, não consigo encontrar nenhuma referência a ela ...
fonte
Você está correto, não pode instalar o pacote PECL porque, a partir do PHP 5.3 Intl, faz parte do PHP .
Se você instalou o PHP usando o YUM, basta baixar o pacote intl:
fonte
Isso funcionou para mim no CentOS 5.6:
Depois disso, todos os erros relacionados a
intl
desapareceramfonte
Tudo o que você precisa é
fonte
/usr/bin/pecl install intl
Log de pesquisa
checking for icu-config... /usr/bin/icu-config*
.Você precisará de um caminho do diretório que possui
/bin/icu-config
posteriormente.Faça o download do 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/
compile e instale o módulo intl. phpize
./configure --enable-intl --with-icu-dir=/usr
make
make test
sudo make install
Finalmente, acrescente
extension=intl.so
emphp.ini
.fonte
Parece que você precisa instalar
icu-dev
ouicu-devel
empacotar ou algo semelhante.Você precisa de um pacote de desenvolvimento.
fonte
$ yum install libicu-devel
você tem o gcc, o gcc-cpp e o gcc-c ++ instalado ... Pelo menos esse foi um dos meus problemas durante a instalação - http://itblogspot.net/php-install-intl
fonte
Eu tive o mesmo problema no CentOS e instalei com sucesso o INTL via pecl depois de:
1) instale o icu & libs:
2) pacote php-devel e phpize:
3) e, claro, o gcc:
(+1 em yuri para gcc, gcc-cpp e gcc-c ++, desculpe, não posso comentar devido a nenhuma classificação)
fonte