Question d'origine:
J'ai du mal à installer l'extension PHP Pecl Intl sur ma machine CentOs 5.
Après avoir installé les deux icu
et libicu
avec les commandes suivantes:
$ yum install icu
$ yum install libicu
J'ai essayé d'installer l'extension Intl comme suit:
$ /usr/bin/pecl install intl
J'ai choisi de rechercher l'emplacement par défaut pour les bibliothèques ICU et les fichiers d'en-tête. Il finit par s'écraser comme ceci:
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
mise à jour
Après avoir installé avec succès la version de développement d'icu comme suggéré par RusAlex (merci RusAlex) comme ceci:
$ yum install libicu-devel
J'ai rencontré un nouveau problème que j'ai également rencontré localement la commande suivante:
$ /usr/bin/pecl install intl
produit maintenant cette erreur:
/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
Cela semble avoir quelque chose à voir avec PHP 5.3 déjà intégré à Intl. Mais comment puis-je activer cette extension, si je regarde dans mes informations PHP, je ne trouve aucune référence à elle ...
la source
Vous avez raison, vous ne pouvez pas installer le package PECL car depuis PHP 5.3 Intl fait partie de PHP .
Si vous avez installé PHP en utilisant YUM, vous pouvez simplement dérouler le package intl:
la source
Cela a fonctionné pour moi sur CentOS 5.6:
Après cela, toutes les erreurs liées à la
intl
disparition ont disparula source
tout ce dont tu as besoin c'est
la source
/usr/bin/pecl install intl
Journal de recherche
checking for icu-config... /usr/bin/icu-config*
.Vous aurez besoin d'un chemin du répertoire qui a
/bin/icu-config
plus tard.Télécharger 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/
compiler et installer le module intl. phpize
./configure --enable-intl --with-icu-dir=/usr
make
make test
sudo make install
Greffer
extension=intl.so
dansphp.ini
.la source
Il semble que vous deviez installer
icu-dev
ouicu-devel
empaqueter ou quelque chose de similaire.Vous avez besoin d'un package de développement.
la source
$ yum install libicu-devel
avez-vous installé gcc, gcc-cpp et gcc-c ++ ... Au moins, c'était l'un de mes problèmes lors de l'installation - http://itblogspot.net/php-install-intl
la source
J'ai eu le même problème sur CentOS, et j'ai réussi à installer INTL via pecl après:
1) installez icu & libs:
2) paquet php-devel et phpize:
3) et, bien sûr, gcc:
(+1 à yuri pour gcc, gcc-cpp et gcc-c ++, désolé ne peut pas commenter en raison d'aucune évaluation)
la source