MongoDB 安装在 Mac OS X 10.11 上,具有 Mac 端口

MongoDB installation on Mac OS X 10.11, with MacPorts

我正在尝试在我的计算机上安装 MongoDB 运行ning Mac OS X 10.11 (El Capitan)。

我的 Apache + PHP 配置已经正常工作。

我通过 MacPorts:

为 MongoDB 安装了 MongoDB 和 PHP 驱动程序
sudo port install mongodb
sudo port install php55-mongodb

安装 运行 正确。

我将 mongodb.so 文件添加到 php.ini 文件中加载的扩展中:

extension=/opt/local/lib/php55/extensions/no-debug-non-zts-20121212/mongodb.so

当我在 php 文件中 运行 phpinfo() 函数时,mongodb 扩展似乎被正确加载:

我试图通过初始化 MongoClient 实例来测试我的连接:

<?php

    $mongoDB = new MongoClient();

    var_dump($mongoDB);

?>

不幸的是,我收到 HTTP 错误 500,并且在我的 Apache 日志中收到以下行:

PHP Fatal error:  Class 'MongoClient' not found in ...

我是不是做错了什么?

在大多数站点上,我看到您需要在 php.ini.
中添加扩展名 mongo.so 而不是 mongodb.so 如果没有解决你的问题,我建议你安装 MongoDB Drive with PELC.

运行 命令行:

$ sudo pecl install mongo

并将此行添加到您的 php.ini

extension=mongo.so

Doc php.net Mongo Installation

终于找到了解决我的问题的方法。

@neverpanic 和@Zagonine 让我明白了,php-mongodbphp-mongo不是同一个分机。

如果你想使用旧的PHP驱动类,你应该使用php-mongo包而不是非常新的 php-mongodb.

尝试安装最新的 php-mongo 扩展,我遇到了与 OpenSSL 相关的其他问题。为了绕过它,我安装了旧版本的 php-mongo extension:

sudo /usr/local/pear/bin/pecl install mongo-1.5.8

希望对其他人有所帮助。