如何在Ubuntu 16.04 LTS上安装Mongodb PHP扩展

4
我正在运行Ubuntu 16.04LTS,希望使用PHP来操作Mongodb。我认为只需要使用命令sudo apt-get install php5-mongo(对于Ubuntu 14.04 LTS足够),但是我错了。我收到了这样的错误信息E: Unable to locate package php5-mongo
我刚刚升级到了Ubuntu 16.04 LTS,想要在PHP 版本 7.0.4-7ubuntu2中使用Mongodb。那么我该怎么办才能解决这个问题呢?

你好,如果你正在运行php7,为什么要尝试安装php5包?也许应该安装php7-mongo包? - Marc B
@MarcB,我也尝试过sudo apt-get install php7-mongo,但没有得到任何积极的结果。 - Vikash Kumar
所以去查看16.04lts存储库,找出软件包名称。或者像dpkg -L|grep -i mongo这样的命令也可以。 - Marc B
2个回答

6
很抱歉,目前情况不太乐观。现在有两个MongoDB扩展程序:
- "php-mongo"是“旧”的版本,支持PHP 5.*,但不支持PHP7,只计划进行错误修复; - "php-mongodb"是“新”的版本,支持PHP5和PHP7;
问题在于,这两个版本不兼容,因为它们的整个内部结构完全不同。不幸的是,使用新版本语法的示例非常少,因为绝大多数与Mongo相关的代码都是使用旧扩展编写的。
目前,如果您已经升级到PHP7,您唯一的选择是使用“新”扩展程序,这意味着您之前的代码将停止工作。
我见过一些尝试创建polyfill以使迁移成为可能的尝试(例如: https://github.com/alcaeus/mongo-php-adapter),但由于我自己没有尝试过,所以无法确定其效果如何。

看起来这个库http://mongodb.github.io/mongo-php-library/应该填补这个空缺 - 我试过之后相信它应该能够涵盖大部分"旧"功能而不需要太多更新代码。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接