不支持的驱动程序 [mongodb] Laravel

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/36688621/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 13:37:36  来源:igfitidea点击:

Unsupported driver [mongodb] Laravel

phpmongodblaravel

提问by Hymanhammer013

I am using Laravel 5.1 with MongoDB. I already installed

我在 MongoDB 中使用 Laravel 5.1。我已经安装了

https://github.com/jenssegers/laravel-mongodb

https://github.com/jenssegers/laravel-mongodb

Problem is I am getting this error when running my queries:

问题是我在运行查询时收到此错误:

Unsupported driver [mongodb]

But I already have my drivers installed in my machine. I am using Windows 10 and WAMP. I can confirm it with php info:

但是我已经在我的机器上安装了我的驱动程序。我正在使用 Windows 10 和 WAMP。我可以用php信息确认它:

enter image description here

在此处输入图片说明

I also check all my php.ini files which i already included my DLL's and looks fine. I have my drivers also.

我还检查了我所有的 php.ini 文件,这些文件已经包含了我的 DLL 并且看起来不错。我也有我的司机。

My jessengers version is v3.0.2

我的 jessengers 版本是 v3.0.2

回答by 151291

I think you are missing the line : Add the service provider in config/app.php:

我认为你错过了这一行:在 config/app.php 中添加服务提供者:

Jenssegers\Mongodb\MongodbServiceProvider::class,

Jenssegers\Mongodb\MongodbServiceProvider::class,

Refer the Documentation.

请参阅文档。

https://github.com/jenssegers/laravel-mongodb

https://github.com/jenssegers/laravel-mongodb

回答by Sagar Munot

Run this :

运行这个:

composer require jenssegers/mongodb:*

作曲家需要 jenssegers/mongodb:*

回答by Sagar Munot

composer require jenssegers/mongodb:*

作曲家需要 jenssegers/mongodb:*

install jenssegers package by above command

通过上面的命令安装 jenssegers 包

then

然后

composer update

作曲家更新

you need to make database related changes in .env file :

您需要在 .env 文件中进行与数据库相关的更改:

DB_CONNECTION=mongodb
DB_HOST=localhost
DB_PORT=27017
DB_DATABASE=mongodb
DB_USERNAME=
DB_PASSWORD=

and in config/database.php file :

并在 config/database.php 文件中:

'default' => env('DB_CONNECTION', 'mongodb')

'mongodb' => [
        'driver'   => 'mongodb',
        'host'     => env('DB_HOST', 'localhost'),
        'port'     => env('DB_PORT', 27017),
        'database' => env('DB_DATABASE','mongodb'),
        'username' => env(''),
        'password' => env(''),
    ],

modify above parameter as per your appropriate credentials.

根据您的适当凭据修改上述参数。

Also in config/app.php

同样在 config/app.php

Jenssegers\Mongodb\MongodbServiceProvider::class,

回答by Alex Blex

There are 2 mongodb drivers in php:

php 中有 2 个 mongodb 驱动程序:

laravel-mongodb Readmereads:

laravel-mongodb 自述文件如下:

WARNING:The old mongo PHP driver is not supported anymore in versions >= 3.0

警告:旧版 mongo PHP 驱动程序在 >= 3.0 版本中不再受支持

Laravel 5.1 can be used with either jenssegers/mongodb v2.2 or jenssegers/mongodb v3.0. The former requires legacy driver, the later requires new driver.

Laravel 5.1 可以与 jenssegers/mongodb v2.2 或 jenssegers/mongodb v3.0 一起使用。前者需要遗留驱动程序,后者需要新驱动程序。

Check which version of jenssegers/mongodb you are using, and make it agree with php mongodb driver.

检查您使用的是哪个版本的 jenssegers/mongodb,并使其与 php mongodb 驱动程序一致。