MongoClient未找到连接php mongolab

时间:2015-11-09 12:34:32

标签: php mongodb

我正在尝试连接到Mongolab数据库服务器,但是我收到此错误:

Fatal error: Class 'MongoClient' not found in /home/viviane/public_html/sk/zizi/head.php on line 33

我怀疑它与PHP Mongo驱动程序有关,但我不知道如何。如果我尝试连接到远程mongodb服务器

 $uri = "mongodb://dzyasser:dzyasser@ds049624.mongolab.com:49624/serverdb";
 $options = array("connectTimeoutMS" => 30000);
    $connection = new MongoClient($uri, $options );

那么,当我尝试连接到远程Mongodb服务器(Mongolab)时,为什么还会出现此错误?

3 个答案:

答案 0 :(得分:1)

看起来你的系统中没有MongoDB PHP扩展。

尝试安装MongoDB PHP扩展以解决MongoClient类的问题。这就是我在OS X中设置MongoDB PHP扩展的方法。

  1. 从PECL获取MongoDB扩展

      

    $ sudo pecl install mongodb

  2. 制作php.ini.default

    的副本
      

    $ sudo cp /etc/php.ini.default /etc/php.ini

  3. 将此行放在php.ini而不是保存

      

    延长= mongodb.so

  4. 使用此命令检查安装

      

    php --re mongodb

  5. 或者创建包含phpinfo()函数的简单php文档

  6. 如果您在撰写扩展程序时遇到问题,请阅读此post

答案 1 :(得分:0)

我认为,Mongo驱动程序已安装并加载。

如果是这样,由于错误消息显示无法找到MongoClient类,因此可能是由脚本中使用的命名空间引起的。如果是这样,请尝试

$connection = new \MongoClient($uri, $options );

答案 2 :(得分:0)

无论您是本地连接还是远程连接,似乎PHP都要求在您的服务器上运行mongo DB服务。所以安装就像这样:

a)安装mongodb服务

$ sudo apt-get install -y mongodb

b)如果缺少php驱动程序,请添加它们:

$ sudo apt-get install php5-dev php5-cli php-pear -y
$ sudo pecl install mongo

c)然后打开你的php.ini文件,并在其中添加扩展名" extension = mongo.so":

$ sudo vi /etc/php5/apache2/php.ini
> extension=mongo.so

d)然后重启apache

$ sudo service apache2 restart

免责声明:此示例是在安装了Apache Web服务和PHP5的Ubuntu 14.04 LTS上尝试的。如果您的安装不同,请按照相同的方法,但发出适当的命令。如果您无法访问SSH或sudoer权限,请联系可以帮助您执行此操作的人。