需要使用 MongoDB.so 扩展的 Symfony 2 MongoDB 包

Posted

技术标签:

【中文标题】需要使用 MongoDB.so 扩展的 Symfony 2 MongoDB 包【英文标题】:Need Symfony 2 MongoDB bundle which uses MongoDB.so extention 【发布时间】:2016-05-21 18:49:27 【问题描述】:

我在生产中遇到问题,它有 mongodb.so 扩展,我们的 Symfony 2 ODM 包正在使用 mongo.so。

正如以下参考链接中提到的那样,不推荐使用 mongo.so,因此我们不想进一步使用 mongo.so。

http://php.net/manual/en/mongo.installation.php

现在我们正在使用以下包,这些包使用的是 mongo.so,不支持 mongodb.so。

"doctrine/mongodb-odm": "~1.0",
"doctrine/mongodb-odm-bundle": "~3.0"

请建议我使用 MongoDB.so 扩展的正确 Doctirine ODM 包。

【问题讨论】:

【参考方案1】:

ODM 本身在 2.0 发布之前不会支持新的驱动程序,目前您可以使用在 ext-mongodb 和 mongo-php-library 之上实现 ext-mongo 的 API 的mongo-php-adapter。如需更多信息,您可能希望查看ODM's last release blogpost。

【讨论】:

【参考方案2】:

您需要安装高级驱动适配器,例如 alcaeus/mongo-php-adapter。 为了在 MongoDB 中使用 Symfony,您需要:

Symfony 3:显然 :-) ; Symfony Doctrine MongoDB Bundle (doctrine/mongodb-odm-bundle):这个包将 Doctrine2 MongoDB Object Document Mapper (ODM) 库集成到 Symfony 中; Doctrine MongoDB Object Document Mapper (doctrine/mongodb-odm):为 MongoDB 提供 PHP 对象映射功能的库; MongoDB Adapter (alcaeus/mongo-php-adapter):提供建立在mongo-php-library之上的ext-mongo API,兼容PHP 7; MongoDB 驱动程序库 (mongodb/mongodb):围绕 PHP 的低级驱动程序提供高级抽象; MongoDB PHP 扩展:PHP 和 HHVM 的低级驱动程序扩展。请注意 MongoDB 驱动程序。不要使用旧版 MongoDB 驱动程序 (http://php.net/manual/en/book.mongo.php)。

您可以按照以下说明操作:How to install Symfony3 with MongoDB (and PHP7)

【讨论】:

以上是关于需要使用 MongoDB.so 扩展的 Symfony 2 MongoDB 包的主要内容,如果未能解决你的问题,请参考以下文章

OS X Sierra + XAMPP 7.1.9-0 + 扩展 mongodb.so 未启动

将 mongodb.so 添加到 php.ini 后 XAMPP (Apache) 崩溃

通过单元测试访问 Symfony 2 容器?

核心警告:模块'mongodb'已经加载

提交表单时捕获 onClick 事件

PHP 7:MongoDB 驱动程序问题