mongodb - 未找到类 'MongoDB\Driver\Manager'

标签 mongodb laravel laravel-5

我正在将 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

最佳答案

我不知道这是否是最优雅的解决方案,但它对我有用:

  1. 安装 php 驱动程序$ sudo pecl install mongodb
  2. 创建扩展文件$ sudo nano/etc/php5/mods-available/mongodb.ini并在里面写入:extension=mongodb.so
  3. 为此文件创建符号链接(symbolic link)$ sudo ln -sv/etc/php5/mods-available/mongodb.ini/etc/php5/apache2/conf.d/20-mongodb.ini
  4. 为此文件创建另一个符号链接(symbolic link)$ sudo ln -sv/etc/php5/mods-available/mongodb.ini/etc/php5/cli/conf.d/20-mongodb.ini
  5. 重新启动 apache 或使用的服务器 $ sudo service apache2 restart

可能需要重新安装jenssegers/mongodb:$composer require jenssegers/mongodb

关于mongodb - 未找到类 'MongoDB\Driver\Manager',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35920568/

相关文章:

migration - laravel 5主键列未命名为id

MongoDB - mongofiles

MongoDB,多个计数(使用 $exists)

c# - .net core + MongoDB 如何动态创建数据库

javascript - 如何在JavaScript中创建语句条件Session?

php - 数据未存储在数据库中 [Laravel 5.5]

mongodb - Mongo 部分 AND TTL 索引

javascript - Laravel 提交按钮上的确认消息

php artisan migrate 找不到我的数据库

php - laravel 5 中间件中的条件始终为 false