php70-mongo 安装学说/mongodb-odm 失败

Posted

技术标签:

【中文标题】php70-mongo 安装学说/mongodb-odm 失败【英文标题】:php70-mongo install doctrine/mongodb-odm fails 【发布时间】:2016-08-27 08:49:30 【问题描述】:

我尝试在作曲家上安装教义/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

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

【问题讨论】:

【参考方案1】:

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

首先通过 composer 安装:

composer require alcaeus/mongo-php-adapter

然后安装学说。在我的情况下效果很好。

【讨论】:

官方发布说明中也推荐了这个方案doctrine-project.org/2016/02/16/… 使用 Symfony 3.2 和 Doctrine ODM 1.1 在 PHP 7.1 上完美运行 “然后安装学说”,我会说:“然后安装doctrine/mongodb-odm”。 你节省了我很多时间。谢谢! 优秀的答案,投入大量时间。然后尝试这个答案,最后一切正常。谢谢!!【参考方案2】:

PHP 有 2 个 MongoDB 扩展:

    在http://php.net/manual/en/book.mongo.php 找到的旧版 当前的http://php.net/manual/en/set.mongodb.php

在“doctrine/mongodb-odm”的情况下,它希望找到旧的“mongo”,但您安装的是较新的“mongodb”。

要使用旧版扩展,您需要使用 php

【讨论】:

感谢您的反馈。我按照说明重新安装,但输出仍然相同。 天啊,我快要发疯了,你救了我的命!【参考方案3】:

我遇到了问题,但是使用 php 5.6 和 mysql 安装和配置 symfony 3.1,之后需要安装程序 mongodb,所以更新 7.1

问题 composer.json :

"config": 
    "platform": "php": "5.6"

变化:

"config": 
    "platform": "php": "7.1"

【讨论】:

以上是关于php70-mongo 安装学说/mongodb-odm 失败的主要内容,如果未能解决你的问题,请参考以下文章

php 在学说中的可存档模式

php 在学说中的可存档模式

php 与学说的一对一关系

跨数据库关系学说2和PHP

php orm 学说如何获取对象及其相关连接

oauth2-server-php-docs 存储 学说2