php70-mongo install doctrine/mongodb-odm失败

der*_*cha 10 doctrine mongodb symfony 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].
Run Code Online (Sandbox Code Playgroud)

已经安装了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
Run Code Online (Sandbox Code Playgroud)

在这种情况下出了什么问题?

mal*_*olm 34

在PHP7上你有mongodb@xaben提到的扩展名.你可以使用它与doctrine,直到它支持,mongodb但通过安装额外的库https://github.com/alcaeus/mongo-php-adapter

首先通过composer安装:

composer require alcaeus/mongo-php-adapter
Run Code Online (Sandbox Code Playgroud)

然后安装学说.在我的情况下,它的效果非常好.

  • 官方发行说明中也建议使用此解决方案http://www.doctrine-project.org/2016/02/16/doctrine-mongodb-odm-release-1.0.5.html (2认同)

小智 6

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 <= 5.6,对于php 7,只有mongodb可用.