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.