我正在尝试在运行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扩展似乎正确加载:
我尝试通过初始化MongoClient实例来测试我的连接:
<?php
$mongoDB = new MongoClient();
var_dump($mongoDB);
?>
不幸的是,我得到了一个 HTTP ERROR 500 ,我的Apache日志中有以下行:
PHP Fatal error: Class 'MongoClient' not found in ...
我做错了吗?
答案 0 :(得分:2)
在大多数网站上,我看到您需要在mongo.so
中添加扩展程序mongodb.so
而不是php.ini
。
如果它没有解决您的问题,我建议您使用PELC安装MongoDB驱动器。
运行命令行:
$ sudo pecl install mongo
并将此行添加到php.ini
:
extension=mongo.so
答案 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
希望它会帮助别人。