找不到类“MongoDBDriverManager" [英] Class 'MongoDBDriverManager' not found
问题描述
我正在将 MongoDB 与 Laravel 集成.我正在关注此链接中的信息 jenssegers/laravel-mongodb.我成功地集成了 MongoDB.但是当我运行代码时它会抛出这个错误
I'm integrating MongoDB with Laravel. I'm following information found in this link jenssegers/laravel-mongodb. I'm successful at integrating MongoDB. But when I run the code it throws this error
Client.php 第 56 行中的 FatalErrorException:找不到类 'MongoDBDriverManager'
FatalErrorException in Client.php line 56: Class 'MongoDBDriverManager' not found
这是代码
控制器app/Http/Controller/NewController
Controller app/Http/Controller/NewController
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppHttpRequests;
use AppUser;
class NewController extends Controller
{
//
public function index(){
$var = User::all();
var_dump($var);
}
}
这里是我们创建项目时Laravel默认提供的user.php
And here follows the user.php
that is by default provided by Laravel when we create the project
<?php
namespace App;
use IlluminateFoundationAuthUser as Authenticatable;
use JenssegersMongodbEloquentModel as Eloquent;
class User extends Eloquent
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $collection = 'users_collection';
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
请告诉我为什么会出现此错误.
Please tell me why am I getting this error.
Phpinfo --> mongodb 部分来了.这是一个屏幕截图phpinfo
Phpinfo --> mongodb section is coming. Here is a screen shot phpinfo
推荐答案
我不知道这是否是最优雅的解决方案,但它对我有用:
I do not know if it's the most elegant solution, but it worked for me:
- 安装php驱动
$ sudo pecl install mongodb
- 创建扩展文件
$ sudo nano/etc/php5/mods-available/mongodb.ini
并在里面写入:extension=mongodb.so - 为此文件创建符号链接
$ sudo ln -sv/etc/php5/mods-available/mongodb.ini/etc/php5/apache2/conf.d/20-mongodb.ini
- 为此文件创建另一个符号链接
$ sudo ln -sv/etc/php5/mods-available/mongodb.ini/etc/php5/cli/conf.d/20-mongodb.ini
- 重启apache或使用的服务器
$ sudo service apache2 restart
- Install the php driver
$ sudo pecl install mongodb
- Create the extension file
$ sudo nano /etc/php5/mods-available/mongodb.ini
and write inside: extension=mongodb.so - Create a symbolic link for this file
$ sudo ln -sv /etc/php5/mods-available/mongodb.ini /etc/php5/apache2/conf.d/20-mongodb.ini
- Create an other symbolic link for this file
$ sudo ln -sv /etc/php5/mods-available/mongodb.ini /etc/php5/cli/conf.d/20-mongodb.ini
- Restart apache or the server used
$ sudo service apache2 restart
可能需要重新安装 jenssegers/mongodb:$ composer require jenssegers/mongodb
It may be necessary to reinstall jenssegers/mongodb: $ composer require jenssegers/mongodb
这篇关于找不到类“MongoDBDriverManager"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!