J'essaie d'utiliser le fichier composer.json
. mais, lorsque j'essaie d'exécuter la commande 'composer install
' dans mon path/project/
, j'obtiens une erreur:
J'ai déjà configuré ma wamp
pour 'extension=php_intl.dll
' et copié tout icu*.dll
dans 'D:\wamp\bin\Apache\apache2.2.22\bin
' à partir de 'D:\wamp\bin\php\php5.3.13
' et s'affiche dans phpinfo()
:
sans copie icu*.dll
fonctionne également et s'affiche dans phpinfo()
;
Faites-moi savoir si j'aiintl
install sur monwamp
etcomposer install
sur mon ordinateur, alors pourquoi cette erreur se produit-elle? vraiment, c'est tellement énervant.
Voici mes coordonnées:
Moncomposer.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" : "[email protected]"
}
],
"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"
}
}
}
Faites-moi savoir si d'autres détails sont requis ..
Toute rétroaction/aide serait très appréciée.
Le problème avec wamp est qu’il utilise un php.ini différent pour le php en ligne de commande que pour le php web/Apache. Donc, vous voyez l'extension intl dans phpinfo () dans le navigateur, mais si vous exécutez php -m
en ligne de commande, vous devriez voir que la liste des extensions n'inclut pas intl.
Vous pouvez vérifier en utilisant php -i
au-dessus de la sortie, il devrait vous indiquer d'où le fichier ini est chargé. Assurez-vous d'activer l'extension intl dans ce fichier ini et vous devriez être prêt à partir.
Je l'ai rencontré en l'utilisant sur Mac, résolu en utilisant l'option --ignore-platform-reqs
.
composer install --ignore-platform-reqs
Pour activer l'extension intl, suivez les instructions ci-dessous.
Vous devez activer l'extension en supprimant la mise en commentaire de la ligne suivante = php_intl.dll dans le fichier C:\xampp\php\php.ini . Une fois que vous avez supprimé le commentaire de l'extension = php_intl.dll, vous devez redémarrer le serveur Apache à l'aide du panneau de configuration XAMPP.
//about line 998
;extension=php_intl.dll
change as
extension=php_intl.dll
(Remarque: le fichier php.ini principalement dans le répertoire suivant C:\xampp\php)
Redémarrer xampp
Sous Linux (Debian Jessie par exemple):
apt-get install php7.0-intl
fera le travail pour vous créer créera un lien simbolique à lui.
Si vous rencontrez cette erreur lors de l'exécution de la commande composer composer,
Allez juste au fichier php.ini et décommentez la ligne
De:
;extension=php_intl.dll
À:
extension=php_intl.dll
Remarque: Si vous ne trouvez aucun des fichiers nommés php_intl.dll, vous devez ensuite mettre à niveau la version PHP.
(avec le serveur xampp) ouvrez php.ini dans ".\xampp\php"
changer; extension = intlenextension = intl
C'est une question un peu ancienne mais j'avais rencontré le même problème sur le serveur de base Linux lors de l'installation de magento 2.
Lorsque je lance la commande composer update
ou composer install
à partir de mon répertoire racine magento. Son tirait en dessous de l'erreur.
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 recherché les extensions intl et 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 cela a résolu le problème.
Décommentez simplement cette ligne (pour la trouver, cherchez simplement cette ligne dans l'éditeur):
;extension=php_sockets.dll
(Supprimer le point-virgule pour dégager le commentaire)
Pour moi, pas besoin de redémarrer XAMPP (dans votre cas, WAMP). Mais si cela n'a pas fonctionné, redémarrez-le.