我正在将 MongoDB 与 Laravel 集成。我正在关注此链接 jenssegers/laravel-mongodb 中找到的信息。我成功地集成了 MongoDB。但是当我运行代码时它会抛出此错误
FatalErrorException in Client.php line 56: Class 'MongoDB\Driver\Manager' not found
这是代码
Controller 应用程序/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
<?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',
];
}
请告诉我为什么会出现此错误。
Phpinfo --> mongodb 部分即将推出。这是一个屏幕截图 phpinfo
最佳答案
我不知道这是否是最优雅的解决方案,但它对我有用:
- 安装 php 驱动程序
$ sudo pecl install mongodb
- 创建扩展文件
$ sudo nano/etc/php5/mods-available/mongodb.ini
并在里面写入:extension=mongodb.so - 为此文件创建符号链接(symbolic link)
$ sudo ln -sv/etc/php5/mods-available/mongodb.ini/etc/php5/apache2/conf.d/20-mongodb.ini
- 为此文件创建另一个符号链接(symbolic link)
$ sudo ln -sv/etc/php5/mods-available/mongodb.ini/etc/php5/cli/conf.d/20-mongodb.ini
- 重新启动 apache 或使用的服务器
$ sudo service apache2 restart
可能需要重新安装jenssegers/mongodb:$composer require jenssegers/mongodb
关于mongodb - 未找到类 'MongoDB\Driver\Manager',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35920568/