web-dev-qa-db-fra.com

Symfony 2: Installer et activer l'extension intl

J'utilise XAMPP for Windows et j'ai décidé d'essayer Symfony 2.

Dès que je parviens à la page Symfony Configuration, il me recommande d'installer et d'activer intl.

J'ai essayé de lire les guides PEAR's et PECL's, car je suis totalement 0 sur ce sujet (j'ai commencé à apprendre PHP récemment), mais rien n'a marché. 

J'ai trouvé php_intl.dll dans mon C:\xamp\php\ext. Le php.ini de extension_dir= est défini sur "C:\xampp\php\ext". Il me manquait seulement le extension=php_intl.dll dans php.ini, alors je l'ai ajouté. 

Malheureusement, cela n'a pas fonctionné, et Symfony n'arrête pas de me demander intl.

11
Bob

http://php.net/manual/en/intl.requirements.php

Cette extension est fournie avec PHP à partir de PHP version 5.3.0 . Sinon, la version PECL de cette extension peut être utilisée avec tous les fichiers PHP versions supérieures à 5.2.0 (5.2.4+ recommandée).

lisez aussi mon commentaire sur votre message ci-dessus

5
Hajo

Chaque fois que vous apportez des modifications à php.ini, n'oubliez pas de redémarrer Apache. Sinon, les modifications ne prendront effet. Vous pouvez le faire dans le XAMPP Control Panel en cliquant sur le bouton stop/start dans la rangée du module Apache.

11
ThomasPeeters

Suivez ces étapes:

  1. Copiez tous les noms de fichiers commençant par " icu " de C:\wamp\bin\php\php5.5.12 et collez-le dans C:\wamp\bin\Apache\apache2.4.9\bin (J'utilise WAMP. Trouve-le toi-même pour XAMP.) 

Tu peux essayer. Rien ne fera de mal. Si vous sentez que les choses ne fonctionnent pas, vous pouvez les supprimer. Je suis sûr que cela fonctionnera pour vous à 100%.

  1. Décommentez la ligne suivante sur C:\wamp\bin\Apache\apache2.4.9\bin\php.ini

    extension=php_intl.dll
    

Ça va marcher.

4
srbhattarai

Pour les utilisateurs de Linux: L'installation de php5-intl l'a fait fonctionner pour moi

Sudo apt-get install php5-intl

trouvé ici: http://www.php.net/manual/fr/intl.setup.php

4
Julian Orinyol

Pour les utilisateurs d'OS X:

1. Normalement, le PHP est automatiquement installé sur OSX. Ainsi, si vous souhaitez utiliser XAMPP, ou un autre serveur Apache, vous devez modifier le chemin d'accès en XAMPP. Vous pouvez vérifier le chemin en utilisant:

$ which php

(ne pas copier le signe $, cela signifie que vous devriez taper ceci dans Terminal, pas php)

Vous devriez obtenir: /Applications/XAMPP/xamppfiles/bin/php,

sinon, vous obtiendrez /usr/bin/php

C'est le php d'OSX. Donc, vous devez le changer en XAMPP 'php en utilisant:

$ PATH="/Applications/XAMPP/xamppfiles/bin:${PATH}"

2. Exécutez cette commande pour télécharger, décompresser, compiler et installer ICU - (vous pouvez choisir une version différente si votre version de Symfony est requise): 

$ curl -sS -o /tmp/icu.tar.gz -L http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-src.tgz && tar -zxf /tmp/icu.tar.gz -C /tmp && cd /tmp/icu/source && ./configure --prefix=/usr/local && make && Sudo make install

que courir:

$ Sudo pecl install intl

et spécifiez où ICU - les bibliothèques et les en-têtes peuvent être trouvés [DEFAULT]: 

/usr/local

Faites attention aux informations dans le rapport d'installation: 

You should add "extension=intl.so" to php.ini

N'oubliez pas de redémarrer Apache et de vérifier la version:

<?php
if (extension_loaded('intl')) {
    echo "PHP: " . PHP_VERSION . "<br>\n";
    echo "ICU: " . INTL_ICU_VERSION . "<br>\n";
} else {
    die('OOPS! The intl extension is not enabled!');
}

Partiellement pris ici, mais modifié pour avoir du succès Installer PHP Extension d'internationalisation (Intl) sur XAMPP sur Mac

1
Stan Fad

Pour activer cette extension dans Xampp, éditez simplement votre fichier php.ini (c.-à-d. Dans le répertoire C:\xampp\php) et supprimez le point-virgule pour décommenter cette ligne:

;extension=php_intl.dll

Finalement, n’oubliez pas de redémarrer Apache!

0
Charles

Pour résoudre ce problème, allez dans «c:\xampp\php\php.ini», ouvrez-le dans votre éditeur et recherchez les extensions dynamiques, puis descendez recherchez; extension = php_intl.dll et activez-le (remove; pour ressembler à) extension = php_intl.dll après cela, enregistrez votre fichier php.ini et redémarrez votre localhost

0
BEN ZAYAD