在fatfree中找不到"MongoDB"类(f3)

D31*_*181 8 php mongodb fat-free-framework

我最近一直试图从我的家用机器上安装的xampp上传我的php应用程序到服务器.现在代码在家中的xampp上完美运行,并且mongodb驱动程序按预期工作,但是在将其迁移到LAMP服务器之后,f3框架会抛出此错误:

Fatal error: Class 'MongoDB' not found in /nfs/fs0/home/dhu/www/fatfree/lib/db/mongo.php on line 107
Internal Server Error

Fatal error: Class 'MongoDB' not found
Run Code Online (Sandbox Code Playgroud)

在参考中,我抬头看着它正在抱怨的线和它的这一行:

$this->db=new \MongoDB(new $class($dsn,$options?:array()),$dbname);
Run Code Online (Sandbox Code Playgroud)

在堆栈和其他网站上查找解决方案之后,他们说要检查安装的mongo等版本,所以我在php端看一下,看看启用了什么,它返回:

PHP INFO()

PHP Version 5.6.24-0+deb8u1
mongodb
mongodb support enabled
mongodb version 1.1.8
mongodb stability   stable
libmongoc version   1.3.5
libbson version 1.3.5
Run Code Online (Sandbox Code Playgroud)

因此,由于mongo已经在php服务器上安装和启用,我不确定在fatfree框架中第107行究竟是什么问题,有没有人有任何想法?任何帮助,将不胜感激.


所以在没有找到真正的解决方案后,我会更新,看看能不能得到更多的帮助.

更新

请注意,服务器设置可在此处找到:

http://lamp0.cs.stir.ac.uk/

这里的错误:

http://lamp0.cs.stir.ac.uk/~dhu/

它所指的那条线是:

$this->db=new \MongoDB(new $class($dsn,$options?:array()),$dbname);
Run Code Online (Sandbox Code Playgroud)

在MONGODB库中,mongo.php.在查看设置数据库并尝试重写设置代码的各种方法后,似乎没有任何工作....

更新2

$manager = new MongoDB\Driver\Manager("mongodb://mydetails:27017");
Run Code Online (Sandbox Code Playgroud)

如果我删除了fatfree框架,这行不会在安装过程中抛出错误,这是令人惊讶的,因为我预计它无法找到MongoDB\Driver然而它没有问题,它的主要问题似乎只是在fatfree框架中的一行我不确定为什么......

Shi*_*hur 3

您需要将 MongoDB 添加为composer.jsonFat-Free Framework 文件中的依赖项。

只需将 MongoDB 添加到所需依赖项列表中,如果不存在,请创建如下所示的依赖项列表。

"require": {
    "mongodb/mongodb": "^1.0"
},
Run Code Online (Sandbox Code Playgroud)

然后再跑composer install。现在您可以在代码中引用 MongoDB 类。