Composer: l'extension PHP demandée ext-intl * est manquante dans votre système
je suis en train d'utiliser composer.json fichier. mais, lorsque j'essaie d'exécuter la commande 'composer install " dans mon path/project/, j'obtiens une erreur:

j'ai déjà configuré mon wamp pour 'extension=php_intl.dll " et copié tous icu*.dll'D:wampbinapacheapache2.2.22bin' à partir de 'D:wampbinphpphp5.3.13 " et qu'il les montre dans phpinfo():

sans copier icu*.dll fonctionne aussi et montrant dans phpinfo();
veuillez me faire savoir si j'ai intl installer sur mon wamp et composer install sur mon pc alors pourquoi j'obtiens cette erreur. vraiment, c'est tellement ennuyeux.
Voici mes coordonnées:
- OS: windows 7 (64)
- PHP: 5.3.13
- Apache: 2.2.22
- Compositeur: installé par fichier exécutable
- Poire: installé (plus tard)
- PHPUnit: installé (plus tard)
mon composer.json est comme ci-dessous:
{
"name" : "sebastian/money",
"description" : "Value Object that represents a monetary value (using a currency's smallest unit)",
"keywords" : ["money"],
"homepage" : "http://www.github.com/sebastianbergmann/money",
"license" : "BSD-3-Clause",
"authors" : [{
"name" : "Sebastian Bergmann",
"email" : "sebastian@phpunit.de"
}
],
"require" : {
"php" : ">=5.3.3",
"ext-intl" : "*"
},
"require-dev" : {
"phpunit/phpunit" : "~4.0"
},
"autoload" : {
"classmap" : [
"src/"
]
},
"extra" : {
"branch-alias" : {
"dev-master" : "1.3.x-dev"
}
}
}
Laissez-moi savoir si d'autres détails..
toute rétroaction ou aide serait grandement appréciée.
7 réponses
le problème avec wamp est généralement qu'il utilise un php différent.ini pour la ligne de commande php que pour le web / apache php. Vous voyez donc l'extension intl dans phpinfo () dans le navigateur, mais si vous exécutez php -m dans la ligne de commande, vous devriez voir que la liste des extensions n'inclut pas intl.
vous pouvez vérifier en utilisant php -i en haut de la sortie, il devrait vous dire où le fichier ini est chargé de. Assurez-vous d'activer l'extension intl dans ce fichier ini et vous devriez être en bon pour aller.
Pour activer l'extension intl suivez les instructions ci-dessous.
Vous devez activer l'extension en décommentant la ligne suivante extension=php_intl.dll dans la C:\xampp\php\php.fichier ini. Une fois que vous décommentez l'extension=php_intl.dll, puis vous devez redémarrer le serveur apache en utilisant le panneau de contrôle XAMPP.
//about line 998
;extension=php_intl.dll
change as
extension=php_intl.dll
(Note: php.fichier ini principalement dans le répertoire suivant C:\xampp\php)--2-->
redémarrez xampp
j'ai rencontré ceci en L'utilisant dans Mac, Je l'ai résolu en utilisant --ignore-platform-reqs option.
composer install --ignore-platform-reqs
sous linux (Debian Jessie par exemple):
apt-get install php7.0-intl
va faire le travail pour vous en raison créera un simbolic lien.
Juste décommentez cette ligne (pour la trouver, il suffit de rechercher cette ligne dans l'éditeur):
;extension=php_sockets.dll
(Enlever le point-virgule pour commentaires)
pour moi, pas besoin de redémarrer XAMPP (dans votre cas, WAMP). Mais si ça n'a pas marché, redémarrez-le.
c'est une question un peu vieille mais j'avais fait face au même problème sur linux base server lors de l'installation de magento 2.
Quand je suis à la cuisson composer update ou composer install commande de ma racine magento dir. Son tir d'erreur ci-dessous.
Problem 1
- The requested PHP extension ext-intl * is missing from your system. Install or enable PHP's intl extension.
Problem 2
- The requested PHP extension ext-mbstring * is missing from your system. Install or enable PHP's mbstring extension.
Problem 3
- Installation request for pelago/emogrifier 0.1.1 -> satisfiable by pelago/emogrifier[v0.1.1].
- pelago/emogrifier v0.1.1 requires ext-mbstring * -> the requested PHP extension mbstring is missing from your system.
...
ensuite, j'ai cherché les extensions intl & intl disponibles, en utilisant les commandes ci-dessous.
yum list php*intl
yum install php-intl.x86_64
yum list php*mbstring
yum install php-mbstring.x86_64
Et il a fixé le problème.
si vous avez cette erreur pendant l'exécution de la commande composer install,
ne vous inquiétez pas.
Les étapes à suivre et les exigences:
- Step1: aller dans le dossier du serveur tel que xampp (ou) wampp etc.
- Step2: ouvrez le dossier php à l'intérieur de celui-ci et allez dans le dossier ext.
- Step3: si vous trouvez un fichier nommé php_intl.dll pas de problème.
il suffit d'aller à php.fichier ini et de décommenter le ligne
:
;extension=php_intl.dll
À:
extension=php_intl.dll
- Step4: redémarrez xampp, thats it
Remarque: si vous ne trouvez pas le nom du fichier php_intl.dll, alors vous devez mettre à jour la version PHP.