关键三步:启用php的mongodb扩展、安装mongodb/laravel-mongodb包、配置mongodb_uri与connections.mongodb连接;laragon需勾选扩展并重启,推荐用atlas或本地mongodb服务配合.env配置。

在 Laragon 环境中让 Laravel 连接 MongoDB,关键不是“额外装驱动”,而是三步到位:确认 PHP 已启用 mongodb 扩展、安装官方 Laravel MongoDB 包、正确配置连接参数。Laragon 自带的 PHP 通常不默认启用该扩展,所以重点在启用而非从头编译。
确认并启用 PHP 的 mongodb 扩展
Laragon 的 PHP 是预编译版本,不能用 pecl install 直接装(会失败)。正确做法是:
- 打开 Laragon 主界面 → 点击 PHP → PHP Extensions
- 在列表中勾选 mongodb(注意不是
mongo,那是已废弃的老驱动) - 点击右下角 Save & Restart Apache(或 Nginx)
- 新建一个
info.php文件,内容为<?php phpinfo(); ?>,访问 http://localhost/info.php,搜索mongodb,确认看到版本号(如ext/mongodb version => 1.20.1)且状态为 enabled
安装 laravel-mongodb 官方包
使用 Composer 安装当前 Laravel 版本兼容的包(2026 年推荐用官方维护版):
- 终端进入项目根目录,运行:
composer require mongodb/laravel-mongodb - 该包会自动注册服务提供者(Laravel 5.5+ 支持自动发现),无需手动改
config/app.php - 若需手动注册(如旧版或调试需要),加到
config/app.php的providers数组:MongoDB\Laravel\MongoDBServiceProvider::class,
配置数据库连接(适配 Laragon 默认环境)
Laragon 默认 MongoDB 服务未开启,需先启动或外连。两种常用方式:
-
方式一:用 Laragon 自带的 MongoDB(需手动添加)
目前 Laragon GUI 不内置 MongoDB 服务,但可将已安装的 MongoDB(如 Community Server)设为系统服务,并在.env中配置:MONGODB_URI="mongodb://127.0.0.1:27017"MONGODB_DATABASE="laravel_app" -
方式二:用 Docker 或 MongoDB Atlas(更推荐)
在.env中写入 Atlas 连接串(注意替换用户名/密码/集群名):MONGODB_URI="mongodb+srv://user:pass@cluster.mongodb.net"MONGODB_DATABASE="laravel_app"
然后在 config/database.php 的 'connections' 中添加:
'mongodb' => [
'driver' => 'mongodb',
'dsn' => env('MONGODB_URI'),
'database' => env('MONGODB_DATABASE', 'laravel'),
'options' => [
'connectTimeoutMS' => 5000,
'serverSelectionTimeoutMS' => 5000,
],
],
最后把 DB_CONNECTION 设为 mongodb:
DB_CONNECTION=mongodb
验证是否连通
终端执行:
php artisan tinker- 输入:
DB::connection('mongodb')->getPdo();
不报错即说明底层连接成功(注意:MongoDB 没有 PDO,此处返回的是MongoDB\Client实例,表示连接已建立) - 再试模型查询(需先建一个 MongoDB 模型):
use MongoDB\Laravel\Eloquent\Model;<br>class Test extends Model { protected $connection = 'mongodb'; }<br>Test::all();











