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

问题描述 投票:4回答:2

我正在运行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

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

mongodb php-7 ubuntu-16.04
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
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.