Instalación / habilitación de la extensión PHP Pecl Intl en CentOs 5

8

Pregunta original

Tengo problemas para instalar la extensión PHP Pecl Intl en mi máquina CentOs 5.

Después de instalar ambos icuy libicucon los siguientes comandos:

$ yum install icu
$ yum install libicu

Traté de instalar la extensión Intl así:

$ /usr/bin/pecl install intl

Seleccioné buscar la ubicación predeterminada para las bibliotecas de ICU y los archivos de encabezado. Termina cayendo así:

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

actualizar

Después de instalar con éxito la versión de desarrollo de icu como sugiere RusAlex (gracias RusAlex) así:

$ yum install libicu-devel

Me encontré con un nuevo problema que también encontré localmente el siguiente comando:

$ /usr/bin/pecl install intl

ahora produce este error:

 /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 que tiene algo que ver con que PHP 5.3 ya esté incluido con Intl. Pero, ¿cómo puedo habilitar esta extensión? Si busco en mi información de PHP, no puedo encontrar ninguna referencia a ella ...

Marijn Huizendveld
fuente

Respuestas:

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

Y eres bueno para ir. Y mejor ingrese la extensión = intl.so manualmente en php.ini o incluso más elegante cree un nuevo archivo .ini en el directorio /etc/php.d/.


fuente
Trabajó para mi. Centos 5.8 x86_64 con CPanel.
djskinner
para mí, en la línea 3: sudo / usr / bin / pecl install intl dice 'comando no encontrado', ¿me falta algo por favor?
Dashrath
7

Tiene razón, no puede instalar el paquete PECL porque a partir de PHP 5.3 Intl es parte de PHP .

Si instaló PHP usando YUM, simplemente puede desplegar el paquete intl:

> yum list php*intl
> yum install <file_from_above>
Rábano sónico
fuente
3

Esto funcionó para mí en CentOS 5.6:

yum install gcc gcc-cpp gcc-c++

Después de eso, todos los errores relacionados con intldesaparecieron

estante Duncan
fuente
1

todo lo que necesitas es

yum install libicu-devel
DiverseAndRemote.com
fuente
1
  1. /usr/bin/pecl install intl

  2. Buscar registro checking for icu-config... /usr/bin/icu-config*.
    Necesitará una ruta del directorio que tiene /bin/icu-configmás adelante.

  3. Descargar 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. compilar e instalar el módulo intl. phpize

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

    make

    make test

    sudo make install

  5. Por último, añadir extension=intl.soen php.ini.

Yusuke Katayama
fuente
1

Parece que necesita instalar icu-devo icu-develempaquetar o algo similar.

Necesitas paquete de desarrollo.

RusAlex
fuente
Gracias, eso me llevó un poco más lejos, he actualizado la publicación en consecuencia. Solo como referencia: el comando para instalar la versión de desarrollo que utilicé es$ yum install libicu-devel
Marijn Huizendveld
0

Tuve el mismo problema en CentOS e instalé con éxito INTL a través de pecl después de:

1) instalar icu y libs:

yum -y install icu libicu libicu-devel 

2) paquete php-devel y phpize:

yum -y install php-devel phpize

3) y, por supuesto, gcc:

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

(+1 a yuri para gcc, gcc-cpp y gcc-c ++, lo siento, no puedo comentar debido a la falta de calificación)

PD
fuente