【问题标题】:OSX Connecting PHP to MongoDBOSX 将 PHP 连接到 MongoDB
【发布时间】:2017-04-17 18:06:50
【问题描述】:

在我的机器 (OSX) 上将 PHP 连接到 MongoDB 时遇到问题。 当我尝试执行时

$mongoDB = new Mongo();

页面出现错误

Fatal error: Class 'Mongo' not found in ***** on line 5

当我输入 phpinfo() 时,它不会在那里列出 mongo 驱动程序。

到目前为止我做了什么? 我已经使用 brew 安装了 mongo 及其驱动程序,如下所示:

brew tap homebrew/php
brew install php56-mongodb

并添加到我的 /etc/php.ini.default:

extension=php_mongodb.dll

我做错了什么吗?非常感谢您的回答。

提前致谢。

【问题讨论】:

  • 可能是很多东西。在命令行中,输入which php,以确认您配置了正确的 php。然后,输入 php -v ,如果加载库有任何问题,您会知道的。最后,php_mongodb.dll 很可能是php_mongodb.so
  • 你好@YvesLeBorg。 which php 给了我一个我看不懂的二进制内容的路径。当我输入 -v 时,我得到 PHP 5.6.27 (cli) (built: Oct 15 2016 09:29:27) ... 现在该怎么办?我不明白...
  • 你酿造 php 了吗? which 应该给出二进制路径,这很奇怪。
  • 是的,我已经 brew php。它甚至告诉我homebrew/php/php55-mongodb 已安装(当我再次键入 brew php 时,那里有绿色标记)
  • 那么你使用了错误的 php ......苹果分发的那个。试试 /usr/local/bin/php ... -v(version) -m(modules) 和 sysinfo。要解决此问题,请将 /usr/local/bin 作为 PATH 组件,放在 /usr/bin 之前

标签: php mongodb macos


【解决方案1】:

我想我在这里找到了解决方案...

在编写了这样的代码(最新的 mongo 驱动程序)后,它工作了!

<?php
class DatabaseAPI {
    private $mongoClient;

    function __construct() {
        try {
            $this->mongoClient = new MongoDB\Client("mongodb://localhost:27017");
        }
        catch(Exception $e) {
            echo $e;
        }
    }
}
?>

我必须使用最新的库。不再支持使用 $a = new Mongo()。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-20
    • 2017-10-05
    • 2018-02-23
    • 2017-06-14
    • 2011-01-27
    • 1970-01-01
    • 2018-08-28
    • 2013-05-24
    相关资源
    最近更新 更多