Class 'MongoDB' 未在 fatfree (f3) 中找到
Class 'MongoDB' not found in fatfree (f3)
我最近一直在尝试将我的 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 端查找它以查看启用的内容和它 returns :
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/~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 框架中的那一行,我不确定为什么...
首先在 project.Then 中为 mongodb 安装自动加载 class 尝试使用以下代码
$client = new MongoDB\Client("mongodb://localhost:27017");
您需要在 Fat-Free Framework 的 composer.json
文件中添加 MongoDB 作为依赖项。
只需将 MongoDB 添加到需要的依赖项列表中,如果不存在,请像下面这样创建一个。
"require": {
"mongodb/mongodb": "^1.0"
},
然后 运行 再 composer install
。现在您可以在代码中引用 MongoDB 类。
我最近一直在尝试将我的 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 端查找它以查看启用的内容和它 returns :
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/~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 框架中的那一行,我不确定为什么...
首先在 project.Then 中为 mongodb 安装自动加载 class 尝试使用以下代码 $client = new MongoDB\Client("mongodb://localhost:27017");
您需要在 Fat-Free Framework 的 composer.json
文件中添加 MongoDB 作为依赖项。
只需将 MongoDB 添加到需要的依赖项列表中,如果不存在,请像下面这样创建一个。
"require": {
"mongodb/mongodb": "^1.0"
},
然后 运行 再 composer install
。现在您可以在代码中引用 MongoDB 类。