将"Legacy" MongoDB 驱动程序与 PHP7 一起使用



有没有办法将PECL中的Legacy Mongo PHP驱动程序与PHP7一起使用?也许是支持PHP7的非官方fork或编译/修改指令。。。

如果您真的需要使用任何对php-mongo遗留驱动程序具有强依赖性的捆绑包或库,还有一种替代方案,它被称为"alcaeus:mongo-php适配器"。它在mongophp库(原文如此)之上提供了一个extmongo库。

https://github.com/alcaeus/mongo-php-adapter

如果您在composer中遇到任何与缺少遗留驱动程序有关的问题(著名消息"请求的PHP扩展ext-mongo*丢失"),您可以将其添加到composer.json 中进行修复

"提供":{"ext mongo":"1.6.12"},

在这种情况下,你可能想看看这个线程(同样的情况,但使用heroku):https://github.com/alcaeus/mongo-php-adapter/issues/67

否,遗留驱动程序不支持PHP7。这是承诺和JIRA票证,这是正式完成的。

新的PHP MongoDB驱动程序可以在这里的PECL(或GitHub)中找到。

要安装,只需:

pecl channel-update pecl.php.net
pecl install mongodb
echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:s*||"`

新驱动程序的文档可在此处找到。我想附上文件中的一条注释:

最终,此扩展不打算单独使用。用户应该考虑将此驱动程序与一个或多个userland PHP库(如mongophp库)一起使用。

新的mongodb驱动程序/PHP扩展比传统的mongo驱动程序低得多,我们鼓励您在驱动程序之上使用更高级别的库,而不是直接在代码中使用它。

Mongo PHP库(发行版)是PHP的官方高级库,建议在项目中使用。它仍处于测试阶段,但这似乎仍然是PHP7最安全、最经得起未来考验的前进道路。

编辑:旧版Mongo驱动程序不再处于活动状态。

最新更新