web-dev-qa-db-fra.com

Impossible d'installer l'extension 'intl' pour php sur debian

J'ai un serveur Debian et je souhaite installer l'extension "intl" via pecl.

Pendant l'installation, il me demande: "Spécifiez où ICU bibliothèques et en-têtes peuvent être trouvés [DEFAULT]:" Ici, j'ai essayé plusieurs options, y compris en le laissant vide pour utiliser DEFAULT, mais je obtenez l'erreur suivante:

configure: erreur: le préprocesseur C++ "/ lib/cpp" échoue au contrôle de cohérence Voir config.log' for more details. ERROR:/tmp/pear/temp/intl/configure --with-icu-dir = DEFAULT 'a échoué

J'ai installé php5.3 avec: make && make install. J'ai déjà installé "icu", mais contrairement à php5.3, il a été installé avec apt-get (je ne sais pas si c'est important).

Une idée?

22
matubaum

Sur Ubuntu 12.04 LTS, les éléments suivants ont fonctionné pour moi:

Sudo apt-get install php5-intl
Sudo /etc/init.d/Apache2 restart

Bam, avertissement disparu! J'espère que cela aidera quelqu'un à l'avenir :)

39
JMK

Vous devez installer libicu44 et libicu-dev:

apt-get install libicu44 libicu-dev

et après cela, vous pouvez installer intl avec pecl:

./pecl install intl

Remarque si vous utilisez Ubuntu:

Il ressemble au premier paquet libicu44 n'est pas disponible, auquel cas installez simplement libicu-dev et il passera par les dépendances et le gérera pour vous. Semble utiliser libicu42 en ce moment.

20
szabola

Même erreur:

/tmp/pear/temp/intl/collator/collator_class.c:92: error: duplicate 'static'

Mais en lisant les commentaires de l'extension native intl, j'ai vu:

Les utilisateurs de Debian Squeeze peuvent installer l'extension intl avec:

Sudo apt-get install php5-intl

premier commentaire

Le package fonctionne même avec mon ancien Ubuntu 8.04 ...

11
Sylvain Artois

Installer g ++ Sudo apt-get install g++ avant Sudo ./pecl install intl a fait l'affaire pour moi.

2
ahmedhelmy007

Je savais que cela semblait familier; J'ai eu le même problème en mai 2008, discuté ici: http://old.nabble.com/ubuntu-7.10-pecl-install-intl-p17140873.html

Ed Batutis a expliqué que "/ usr" est la bonne réponse si vous avez icu-config dans "/ usr/bin/icu-config"; ajustez en conséquence si c'est ailleurs.

Mais cela ne m'a pas aidé. J'ai décrit la solution pour moi ici: http://darrendev.blogspot.com/2008/05/install-php-pecl-intl-module-for-ubuntu.html ... qui était essentiellement pour définir la macro PHP_SETUP_ICU. Cela devait être ajouté en 5.2.4, donc lorsque vous utilisez php 5.3, votre problème devrait être autre chose.

1
Darren Cook