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

qjp7pelc  于 2023-09-29  发布在  PHP
关注(0)|答案(5)|浏览(158)

Laravel 5.1与MongoDB我已经安装
https://github.com/jenssegers/laravel-mongodb
问题是我在运行查询时收到此错误:

Unsupported driver [mongodb]

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

我还检查了我所有的php.ini文件,我已经包括我的DLL的,看起来很好。我也有司机。
我的jessengers版本是v3.0.2

3j86kqsm

3j86kqsm1#

我想你错过了一句台词:在config/app.php中添加服务提供者:
Jenssegers\Mongodb\MongodbServiceProvider::class,
参考文档。
https://github.com/jenssegers/laravel-mongodb

**更新:**作为Laravel 10之后的最新更新,服务提供者应该这样添加

'providers' => [
   // ...
   MongoDB\Laravel\MongoDBServiceProvider::class,
],
bq3bfh9z

bq3bfh9z2#

运行以下命令:
composer require jenssegers/mongodb:*

3lxsmp7m

3lxsmp7m3#

php中有两个mongodb驱动程序:

laravel-mongodb Readme内容如下:

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

Laravel 5.1可以与jensegers/mongodb v2.2或jensegers/mongodb v3.0一起使用。前者需要旧的驱动程序,后者需要新的驱动程序。
检查您使用的是哪个版本的jensegers/mongodb,并使其与php mongodb驱动程序一致。

q35jwt9p

q35jwt9p4#

composer require jenssegers/mongodb:*
通过上述命令安装jenssegers包
然后
composer 更新
你需要在.env文件中进行数据库相关的更改:

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

在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(''),
    ],

根据您的相应凭据修改上述参数。
在config/app.php中

Jenssegers\Mongodb\MongodbServiceProvider::class,
brqmpdu1

brqmpdu15#

如果使用lumen,请确保在$app->withEloquent()之前添加服务提供者;
比如$app->register(Jenssegers\Mongodb\MongodbServiceProvider::class);
$app. add();

相关问题