有没有办法将 PECL 的Legacy Mongo PHP 驱动程序与 PHP7 一起使用?也许是支持 PHP7 的非官方分支或编译/修改指令......
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
不,旧版驱动程序不支持 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 驱动程序根本不再处于活动状态。