2

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

4

2 回答 2

2

如果您确实需要使用对 php mongo 旧版驱动程序具有强依赖性的任何捆绑包或库,还有另一种选择,它称为“alcaeus:mongo-php-adapter”。它在 mongo-php-library (sic) 之上提供了一个 ext-mongo 库。

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

于 2016-11-15T08:22:42.760 回答
0

不,旧版驱动程序不支持 PHP7。这是正式完成的提交JIRA Ticket 。

新的 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*||"`

可以在此处找到新驱动程序的文档。我想包含文档中的注释:

最终,此扩展不打算单独使用。用户应考虑将此驱动程序与一个或多个用户级 PHP 库(例如mongo-php-library )一起使用。

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

Mongo PHP 库( releases ) 是 PHP的官方高级库,建议在您的项目中使用它。它仍处于 Beta 阶段,但这似乎仍然是 PHP7 最安全和最面向未来的前进道路。

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

于 2016-01-03T02:28:57.293 回答