Installation / activation de l'extension PHP Pecl Intl sur CentOs 5

8

Question d'origine:

J'ai du mal à installer l'extension PHP Pecl Intl sur ma machine CentOs 5.

Après avoir installé les deux icuet libicuavec 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 ...

Marijn Huizendveld
la source

Réponses:

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

Et vous êtes prêt à partir. Et mieux entrez manuellement l'extension = intl.so dans php.ini ou encore plus élégant créez un nouveau fichier .ini dans le répertoire /etc/php.d/.


la source
A travaillé pour moi. Centos 5.8 x86_64 avec CPanel.
djskinner
pour moi, sur la ligne 3: sudo / usr / bin / pecl install intl il dit 'commande introuvable', est-ce que je manque quelque chose s'il vous plait?
Dashrath
7

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:

> yum list php*intl
> yum install <file_from_above>
Radis sonique
la source
3

Cela a fonctionné pour moi sur CentOS 5.6:

yum install gcc gcc-cpp gcc-c++

Après cela, toutes les erreurs liées à la intldisparition ont disparu

étagère duncan
la source
1

tout ce dont tu as besoin c'est

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

  2. Journal de recherche checking for icu-config... /usr/bin/icu-config*.
    Vous aurez besoin d'un chemin du répertoire qui a /bin/icu-configplus tard.

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

  4. compiler et installer le module intl. phpize

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

    make

    make test

    sudo make install

  5. Greffer extension=intl.sodans php.ini.

Yusuke Katayama
la source
1

Il semble que vous deviez installer icu-devou icu-develempaqueter ou quelque chose de similaire.

Vous avez besoin d'un package de développement.

RusAlex
la source
Merci, cela m'a poussé un peu plus loin, j'ai mis à jour le message en conséquence. Juste pour référence: la commande pour installer la version de développement que j'ai utilisée est$ yum install libicu-devel
Marijn Huizendveld
0

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:

yum -y install icu libicu libicu-devel 

2) paquet php-devel et phpize:

yum -y install php-devel phpize

3) et, bien sûr, gcc:

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

(+1 à yuri pour gcc, gcc-cpp et gcc-c ++, désolé ne peut pas commenter en raison d'aucune évaluation)

PS
la source