web-dev-qa-db-fra.com

J'ai ext-fileinfo mais Composer dit qu'il manque

J'essaie d'installer Laravel le paquet Image d'intervention et quand je lance composer update:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - intervention/image 2.0.5 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.4 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.3 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.2 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.1 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.0 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - Installation request for intervention/image 2.* -> satisfiable by intervention/image[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5].

J'ai php 5.4 et l'extension est activée dans php.ini, et dans phpinfo():

                    fileinfo

fileinfo support                  enabled
version                           1.0.5

et redémarré Apache ... mais toujours pas de chance.

11
Webinan

Apparemment, c’est parce qu’il existe des fichiers php.ini distincts pour le Web/Apache et la CLI, et que Composer utilise la CLI et que phpinfo () utilise le php.ini principal où le problème se produit.

Si vous exécutez php -m dans la CLI et que vous ne voyez pas le nom du module, vous devez rechercher le CLI php.ini (dans mon cas, php-cli.ini et ajouter l'extension. Par exemple, extension=php_fileinfo.dll 

18
Webinan

Utilisateurs Windows: éditez simplement php.ini et décommentez cette ligne:

extension=php_fileinfo.dll

N'oubliez pas de redémarrer Apache pour que le nouveau php.ini prenne effet.

22
vivek

J'ai le même problème. Correction maintenant.
vous pouvez également décommenter cette ligne

extension=php_fileinfo.dll  

dans les fichiers suivants:

  1. php.ini-development
  2. php.ini-production

S'il vous plaît n'oubliez pas de restart votre Apache.
J'espère que cela vous aidera.

12
user3345994

Selon votre plate-forme, il pourrait y avoir plus de php.ini, si vous utilisez Wamp, alors il y en a deux:

  • wamp\bin\php\php5.4.3\php.ini
  • wamp\bin\Apache\Apache2.4.4\bin\php.ini

Assurez-vous que l'extension n'apparaît pas dans les deux, puis redémarrez Apache.

4
delmadord

Sous Windows, j'ai dû ajouter la ligne extension=php_fileinfo.dll dans mon fichier php.ini

2
TomKo1

Uncomment extension = php_fileinfo.dll dans les fichiers de configuration inpi (php.ini-development si nécessaire) Si vous utilisez XAMPP, utilisez Apache Shell. Il peut être chargé à partir du panneau de contrôle XAMPP , Exécutez php -m pour vérifier que l'extension est chargée. Puis lancez composer install. 

1
tjrtmonline

J'ai exactement le même problème. Fixé en allant dans le dossier wamp/bin et en recherchant .ini. Vous trouverez plusieurs fichiers php.ini. 

Editez la ligne extension = php_fileinfo.dll dans chacune d’elles en supprimant le; à la demande de chacun. Redémarrez wamp, entrez php -m dans la commande pour vérifier si fileinfo existe déjà. 

Devrait marcher. 

0
Charles Hasse