Instalando / ativando a extensão PHP Pecl Intl no CentOs 5

8

Pergunta original:

Estou tendo problemas para instalar a extensão PHP Pecl Intl na minha máquina do CentOS 5.

Depois de instalar os dois icu e libicu com os seguintes comandos:

$ yum install icu
$ yum install libicu

Eu tentei instalar a extensão Intl assim:

$ /usr/bin/pecl install intl

Eu selecionei para procurar o local padrão para as bibliotecas do ICU e os arquivos de cabeçalho. Ele acaba caindo 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

Depois de instalar com sucesso a versão de desenvolvimento do icu, como sugerido por RusAlex (obrigado RusAlex) da seguinte forma:

$ yum install libicu-devel

Eu encontrei um novo problema que também encontrei localmente com 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 sendo empacotado com o Intl já. Mas como eu posso habilitar esta extensão, se eu olhar no meu PHP Info do que não consigo encontrar nenhuma referência a ele ...

    
por Marijn Huizendveld 09.12.2010 / 16:52

8 respostas

11

sudo yum install libicu
sudo yum install libicu-devel.x86_64
sudo /usr/bin/pecl install intl
sudo echo 'extension=intl.so' >> /etc/php.ini

E você é bom para ir. E é melhor entrar na extensão = intl.so manualmente para o php.ini ou ainda mais elegante criar um novo arquivo .ini no diretório /etc/php.d/.

    
por 14.04.2011 / 09:06
7

Você está correto, você não pode instalar o pacote PECL porque a partir do PHP 5.3 Intl é parte do PHP .

Se você instalou o PHP usando o YUM, você pode simplesmente baixar o pacote intl:

> yum list php*intl
> yum install <file_from_above>
    
por 21.12.2010 / 09:05
3

Isso funcionou para mim no CentOS 5.6:

yum install gcc gcc-cpp gcc-c++

Depois disso, todos os erros relacionados a intl desapareceram

    
por 20.07.2011 / 15:43
1

tudo que você precisa é

yum install libicu-devel
    
por 28.12.2012 / 16:27
1
  1. /usr/bin/pecl install intl

  2. Log de pesquisa checking for icu-config... /usr/bin/icu-config* .
    Você precisará de um caminho do diretório que tenha /bin/icu-config depois.

  3. 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/

  4. compile e instale o módulo intl. phpize

    ./configure --enable-intl --with-icu-dir=/usr

    make

    make test

    sudo make install

  5. Por fim, anexe extension=intl.so em php.ini .

por 21.07.2011 / 21:40
1

Parece que você precisa instalar o icu-dev ou icu-devel package ou algo parecido.

Você precisa de um pacote de desenvolvimento.

    
por 09.12.2010 / 16:57
0

você tem gcc, gcc-cpp e gcc-c ++ instalados ... Pelo menos esse foi um dos meus problemas durante a instalação - link

    
por 14.12.2010 / 18:23
0

Eu tive o mesmo problema no CentOS e instalei com êxito o INTL via pecl depois:

1) instale o icu & libs:

yum -y install icu libicu libicu-devel 

2) pacote php-devel e phpize:

yum -y install php-devel phpize

3) e, claro, gcc:

yum -y install gcc gcc-cpp gcc-c++

(+ 1 para yuri para gcc, gcc-cpp e gcc-c ++, desculpe não posso comentar devido a nenhuma classificação)

    
por 11.12.2014 / 13:44