使用MacPorts

时间:2016-06-08 15:18:57

标签: php macos mongodb installation macports

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

我的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扩展似乎正确加载: enter image description here

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

<?php

    $mongoDB = new MongoClient();

    var_dump($mongoDB);

?>

不幸的是,我得到了一个 HTTP ERROR 500 ,我的Apache日志中有以下行:

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

我做错了吗?

2 个答案:

答案 0 :(得分:2)

在大多数网站上,我看到您需要在mongo.so中添加扩展程序mongodb.so而不是php.ini
如果它没有解决您的问题,我建议您使用PELC安装MongoDB驱动器。

运行命令行:

$ sudo pecl install mongo

并将此行添加到php.ini

extension=mongo.so

Doc php.net Mongo Installation

答案 1 :(得分:1)

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

由于@neverpanic和@Zagonine让我理解, php-mongodb php-mongo 不是同一个扩展名。

如果你想使用旧的PHP驾驶课程,你应该使用 php-mongo 包而不是新的 php-mongodb

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

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

希望它会帮助别人。