Pregunta original
Tengo problemas para instalar la extensión PHP Pecl Intl en mi máquina CentOs 5.
Después de instalar ambos icu
y libicu
con 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 ...
fuente
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:
fuente
Esto funcionó para mí en CentOS 5.6:
Después de eso, todos los errores relacionados con
intl
desaparecieronfuente
todo lo que necesitas es
fuente
/usr/bin/pecl install intl
Buscar registro
checking for icu-config... /usr/bin/icu-config*
.Necesitará una ruta del directorio que tiene
/bin/icu-config
más adelante.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/
compilar e instalar el módulo intl. phpize
./configure --enable-intl --with-icu-dir=/usr
make
make test
sudo make install
Por último, añadir
extension=intl.so
enphp.ini
.fuente
Parece que necesita instalar
icu-dev
oicu-devel
empaquetar o algo similar.Necesitas paquete de desarrollo.
fuente
$ yum install libicu-devel
¿Tiene instalado gcc, gcc-cpp y gcc-c ++ ... Al menos ese fue uno de mis problemas durante la instalación: http://itblogspot.net/php-install-intl
fuente
Tuve el mismo problema en CentOS e instalé con éxito INTL a través de pecl después de:
1) instalar icu y libs:
2) paquete php-devel y phpize:
3) y, por supuesto, gcc:
(+1 a yuri para gcc, gcc-cpp y gcc-c ++, lo siento, no puedo comentar debido a la falta de calificación)
fuente