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

时间:2016-04-29 20:56:40

标签: mongodb php-7 ubuntu-16.04

我正在运行Ubuntu 16.04 LTS,我想将Mongodb与PHP一起使用。为此,我认为sudo apt-get install php5-mongo(足够Ubuntu 14.04 LTS)就够了,但我错了。我收到的错误是E: Unable to locate package php5-mongo

我刚刚升级到Ubuntu 16.04 LTS,希望将mongodbPHP一起使用。运行PHP版本为PHP Version 7.0.4-7ubuntu2

那么我该怎么做才能解决这个问题呢?

2 个答案:

答案 0 :(得分:6)

我担心你现在有点不走运。目前的情况是有两个MongoDB扩展:

  • “php-mongo”,这是“旧的”;此扩展最多支持PHP 5. *,但不支持PHP7。只计划错误修复;
  • “php-mongodb”,这是“新”的;此扩展支持PHP5以及PHP7;

现在的问题是新的内容与旧版本不兼容,因为它们的内部完全不同。不幸的是,使用新语法的示例很少使用,因为绝大多数与Mongo相关的代码是使用旧扩展名编写的。

目前,如果您已经转移到PHP7,您唯一的选择是使用“新”扩展,这反过来意味着您之前的代码将停止工作。

我见过几次尝试创建一个polyfill来实现这两种可能的迁移(例如:https://github.com/alcaeus/mongo-php-adapter),但是由于我自己没有尝试过,所以我无法判断它是如何工作的。< / p>

似乎这个库http://mongodb.github.io/mongo-php-library/应该弥补差距 - 在给它一个镜头之后我相信它应该覆盖大多数“旧”功能而不会过多地更新代码。

答案 1 :(得分:0)

如果你们中的一些人仍然想在新答案中使用一个简单的包装器,如本答案中所述:https://stackoverflow.com/a/48086676/2569789 我为此目的维护一个,你可以在这里找到它:https://github.com/ThomasSquall/PHP7MongoDriver

它涵盖了今天的几种方法,但我会不断改进它,我希望也能做出贡献:)