Ошибка установки доктрины php70-mongo / mongodb-odm

Я пытаюсь установить доктрину/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].

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

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

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


person deroccha    schedule 02.05.2016    source источник


Ответы (3)


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

Первая установка через композитор:

composer require alcaeus/mongo-php-adapter

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

person malcolm    schedule 02.05.2016
comment
Это решение также рекомендуется в официальных примечаниях к выпуску doctrine-project.org/2016/02/16/ - person edigu; 02.12.2016
comment
Прекрасно работает на PHP 7.1 с использованием Symfony 3.2 и Doctrine ODM 1.1. - person Samir Patel; 02.01.2017
comment
а потом установить доктрину, я бы сказал: а потом установить doctrine/mongodb-odm. - person Kwadz; 24.01.2017
comment
@Kwadz Я бы сказал: каждый, кто читает эту тему, точно знает, какой пакет Doctrine вызывает проблему, это не odm, dbal или phpcr. Даже у вас есть имя пакета в заголовке вопроса. - person malcolm; 24.01.2017
comment
@malcolm Вы комментируете, что каждый, кто читает эту тему, точно знает, какой пакет Doctrine вызывает проблему, никто не может быть в этом уверен, пожалуйста, не забывайте о новичках. Вы комментируете: это не odm, dbal или phpcr., если это не odm, что вы подразумеваете под доктриной? Я думаю, вы хотели написать orm вместо odm ... Во всех случаях я предлагаю вам отредактировать свой ответ, указав правильное имя пакета. - person Kwadz; 25.01.2017
comment
@Kwadz Я предлагаю вам ответить на несколько вопросов вместо того, чтобы искать несуществующие проблемы. Вероятно, вы нашли эту тему, потому что у вас такая же проблема с php7 и новым драйвером mongodb. Это то же самое, что: У тебя есть машина? Да. Почему кто-то должен добавить машину к ответу? Вы новый пионер английской грамматики или что... - person malcolm; 25.01.2017
comment
@malcom Расслабьтесь, я просто предложил немного улучшить правописание, чтобы помочь новичкам, ничего против вас или вашего ответа, который хорош. - person Kwadz; 25.01.2017
comment
Вы экономите много моего времени. Спасибо! - person Daniel; 15.05.2017
comment
Отличный ответ, потратьте много времени. Затем попробуйте этот ответ, и, наконец, все заработает. Спасибо!! - person AnkitJ; 06.07.2017


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

проблема composer.json :

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

Изменять:

"config": {
    "platform": {"php": "7.1"}
}
person maccevedor    schedule 13.10.2017