доктрина установки php70-mongo / MongoDB-odm терпит неудачу

Я пытаюсь установить doctrine / mongodb-odm[1.0.5] над композитором, но бросает меня

  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].

расширение mongo уже установлено

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

что пошло не так в этом случае?

3 ответов


на PHP7 у вас есть mongodb расширение, как упоминалось @xaben. Вы можете использовать это с доктриной, пока она не поддержит mongodb но установив дополнительную библиотеку https://github.com/alcaeus/mongo-php-adapter

первая установка через composer:

composer require alcaeus/mongo-php-adapter

и потом установить доктрину. В моем случае это работает очень хорошо.


PHP имеет 2 расширения для MongoDB:

  1. наследие, найденное в http://php.net/manual/en/book.mongo.php
  2. текущий http://php.net/manual/en/set.mongodb.php

в случае "doctrine / mongodb-odm" он ожидает найти унаследованный "mongo", но то, что вы установили, является более новым "mongodb".

чтобы использовать устаревшее расширение, вам нужно использовать php


у меня была проблема, но установить и настроить symfony 3.1 с php 5.6 и mysql, После необходимости установки mongodb, поэтому udpate 7.1

проблема композитора.в JSON :

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

изменения:

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