找不到类'MongoDB \ Driver \ Manager' [英] Class 'MongoDB\Driver\Manager' 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: 找不到类'MongoDB \ Driver \ Manager'
FatalErrorException in Client.php line 56: Class 'MongoDB\Driver\Manager' not found
这是代码
控制器 app/Http/Controller/NewController
Controller app/Http/Controller/NewController
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\User;
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 Illuminate\Foundation\Auth\User as Authenticatable;
use Jenssegers\Mongodb\Eloquent\Model 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
这篇关于找不到类'MongoDB \ Driver \ Manager'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!