web-dev-qa-db-fra.com

php70-mongo installe la doctrine/mongodb-odm échoue

J'essaie d'installer doctrine/mongodb-odm [1.0.5] sur le compositeur mais me laisse tomber 

  Problem 1
    - doctrine/mongodb 1.3.0 requires ext-mongo ^1.5 -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.2.2 requires ext-mongo ^1.2.12 -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.2.1 requires ext-mongo ^1.2.12 -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb 1.2.0 requires ext-mongo ^1.2.12 -> the requested PHP extension mongo is missing from your system.
    - doctrine/mongodb-odm 1.0.5 requires doctrine/mongodb ~1.2 -> satisfiable by doctrine/mongodb[1.2.0, 1.2.1, 1.2.2, 1.3.0].
    - Installation request for doctrine/mongodb-odm ~1.0.5 -> satisfiable by doctrine/mongodb-odm[1.0.5].

l'extension Mongo est déjà installée 

php -i | grep mongo

/usr/local/etc/php/7.0/conf.d/ext-mongodb.ini
mongodb
mongodb support => enabled
mongodb version => 1.1.6
mongodb stability => stable
libmongoc version => 1.3.5
mongodb.debug => no value => no value

qu'est-ce qui n'allait pas dans ce cas?

9
deroccha

Sur PHP7, vous avez l’extension mongodb comme @xaben mentionné. Vous pouvez utiliser ceci avec la doctrine jusqu'à ce qu'il prenne en charge mongodb mais en installant une bibliothèque supplémentaire https://github.com/alcaeus/mongo-php-adapter

Première installation via le compositeur:

composer require alcaeus/mongo-php-adapter

et plus tard installer la doctrine. Cela fonctionne très bien dans mon cas.

32
malcolm

PHP a 2 extensions pour MongoDB:

  1. L'héritage trouvé à http://php.net/manual/en/book.mongo.php
  2. L'actuel http://php.net/manual/en/set.mongodb.php

En cas de "doctrine/mongodb-odm", il s'attend à retrouver l'ancien "mongo", mais vous avez installé le plus récent "mongodb".

Pour utiliser l'extension existante, vous devez utiliser php <= 5.6. Pour php 7, seul mongodb est disponible.

6
xaben

J'ai eu le problème, mais installer et configurer symfony 3.1 avec php 5.6 et mysql, après avoir besoin de l'installateur mongodb, donc udpate 7.1

problème composer.json:

"config": {
    "platform": {"php": "5.6"}
}

Changement:

"config": {
    "platform": {"php": "7.1"}
}
0
maccevedor