php - 在 fatfree (f3) 中找不到类 'MongoDB'

标签 php mongodb fat-free-framework

我最近试图将我的 php 应用程序从我安装在我家机器上的 xampp 上传到服务器。现在代码在家中的 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

在引用中,我查找了它提示的那一行以及它的这一行:

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

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

PHP 信息 ()

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

因此,由于在 php 服务器上安装并启用了 mongo,我不确定 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);

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

更新 2

$manager = new MongoDB\Driver\Manager("mongodb://mydetails:27017");

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

最佳答案

您需要在 Fat-Free Framework 的 composer.json 文件中添加 MongoDB 作为依赖项。

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

"require": {
    "mongodb/mongodb": "^1.0"
},

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

关于php - 在 fatfree (f3) 中找不到类 'MongoDB',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38961288/

相关文章:

php - 使用 Fat Free Framework 在 mysql 中插入 POINT() 值

php - 我可以在不转义的情况下安全地将哪些字符插入到 SQL 数据库中?

mongodb - 属性文件中的Mongodb Repica设置配置

node.js - 连接失败在 Node 应用程序中连接mongodb

node.js - 什么导致 AWS Lambda 上的 Mongodb 超时错误?

php - .ini 格式的 Fat Free Framework 3.5 条件路由

php - 多域一 session 无脂框架

javascript - CSS - 使用悬停以不同方式影响多个元素

PHP7 - 类型提示可信吗?

php - 有什么更好的 : Json or XML (PHP)