有没有办法在PHP7中使用PECL的Legacy Mongo PHP Driver?也许非官方的分支与PHP7支持或编译/修改指令...
答案 0 :(得分:2)
如果你真的需要使用任何对php mongo传统驱动程序具有强依赖性的bundle或库,还有另一种选择,它叫做“alcaeus:mongo-php-adapter”。它在mongo-php-library(sic)之上提供了一个ext-mongo库。
https://github.com/alcaeus/mongo-php-adapter
如果您遇到与遗留驱动程序缺失相关的编写器的任何问题(着名消息“请求的PHP扩展名ext-mongo *缺失”),您可以修复它将其添加到composer.json
“provide”:{ “ext-mongo”:“1.6.12” },
在这种情况下,您可能希望查看此主题(相同的情况,但使用heroku):https://github.com/alcaeus/mongo-php-adapter/issues/67
答案 1 :(得分:0)
不,旧版驱动程序不支持PHP7。这里的the commit和JIRA Ticket正式定稿。
可以找到新的PHP MongoDB驱动程序in PECL here(或GitHub)。
要安装,只需:
pecl channel-update pecl.php.net
pecl install mongodb
echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
可以找到新驱动程序的文档here。我想在文档中添加一条说明:
最终,此扩展程序不能单独使用。用户应考虑将此驱动程序与一个或多个用户态PHP库一起使用,例如mongo-php-library。
新的mongodb
驱动程序/ PHP扩展程序比旧版mongo
驱动程序更低级,并且建议您在驱动程序之上使用更高级别的库而不是使用它直接在你的代码中。
Mongo PHP Library(releases)是PHP的官方高级库,它建议您在项目中使用。它仍然处于测试阶段,但这似乎仍然是PHP7最安全,最具前瞻性的前进道路。
修改:Legacy Mongo驱动程序根本不再有效。