7
votes

$ Composer ne trouve pas l'extension mongodb, extension Mongodb requise

J'utilise avec la dernière version 7.2 de php sur macOS Mojave et je reçois une erreur comme

 $composer require mongodb/mongodb
Using version ^1.4 for mongodb/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)

Pour plus d'informations sur la question: voir la capture d'écran

 entrez la description de l'image ici

Vos besoins n'ont pas pu être résolus en un ensemble installable de packages.

Problème 1 - mongodb / mongodb v1.4.x-dev nécessite ext-mongodb ^ 1.5.0 -> l'extension PHP demandée mongodb est absente de votre système. - mongodb / mongodb 1.5.x-dev nécessite ext-mongodb ^ 1.6 -> l'extension PHP demandée mongodb est absente de votre système. - mongodb / mongodb 1.4.2 nécessite ext-mongodb ^ 1.5.0 -> l'extension PHP demandée mongodb est absente de votre système. - mongodb / mongodb 1.4.1 nécessite ext-mongodb ^ 1.5.0 -> l'extension PHP demandée mongodb est absente de votre système. - mongodb / mongodb 1.4.0 nécessite ext-mongodb ^ 1.5.0 -> l'extension PHP demandée mongodb est absente de votre système. ** - Demande d'installation pour mongodb / mongodb ^ 1.4 -> satisfiable par mongodb / mongodb [1.4.0, 1.4.1, 1.4.2, 1.5.x-dev, v1.4.x-dev].

L'installation a échoué, rétablissant ./composer.json à son contenu d'origine.

J'ai déjà installé l'extension mongoDB qui reçoit toujours un problème  entrez la description de l'image ici p>

Je ne sais pas ce que j'ai manqué les étapes d'installation. Si quelqu'un peut m'aider avec ce problème de compositeur, je l'apprécierais beaucoup. d'avance Merci.


2 commentaires

plusieurs versions de php installées peut-être? CLI version différente de celle du serveur?


Salut @ Kalpesh-gamit, comment as-tu installé l'extension mongodb. Merci d'avance


3 Réponses :


6
votes
composer require mongodb/mongodb --ignore-platform-reqs
composer require jenssegers/mongodb --ignore-platform-reqs
Using version ^3.4 for jenssegers/mongodb
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 2 installs, 0 updates, 0 removals
  - Installing mongodb/mongodb (1.4.2): Downloading (100%)         
  - Installing jenssegers/mongodb (v3.4.5): Downloading (100%)         
jenssegers/mongodb suggests installing jenssegers/mongodb-session (Add MongoDB session support to Laravel-MongoDB)
jenssegers/mongodb suggests installing jenssegers/mongodb-sentry (Add Sentry support to Laravel-MongoDB)
Writing lock file
Generating optimized autoload files
composer require jenssegers/mongodb --ignore-platform-reqs
It solved my problem.

1 commentaires

Cette méthode doit-elle ajouter --ignore-platform-reqs pour tous les autres packages lorsque le compositeur résout les dépendances?



1
votes

Installez l'extension PHP en exécutant cette commande sur votre terminal.

Build process completed successfully
Installing '/usr/local/Cellar/php/7.3.3/pecl/20180731/mongodb.so'
install ok: channel://pecl.php.net/mongodb-1.5.3
Extension mongodb enabled in php.ini

À la fin, vous verrez les informations suivantes.

sudo pecl install mongodb

puis redémarrez votre service PHP.


2 commentaires

lorsque j'exécute la commande ci-dessus, j'ai reçu "sudo: pecl: commande non trouvée"


sans sudo fonctionnant commando mais à nouveau reçu un problème "pecl install mongodb"



4
votes

J'utilise PHP Version 7.4.4 (XAMPP pour Linux 7.4.4) sur Ubuntu 18.0.4 (Bionic) La commande suivante a résolu mon problème

composer require mongodb/mongodb --ignore-platform-reqs

 entrez la description de l'image ici


0 commentaires