You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xampp下Laravel集成MongoDB遇连接拒绝错误求解决方案

解决Laravel 6连接MongoDB时的"connection refused"问题

老兄,这个错误我之前踩过坑,大概率是MongoDB服务没正常运行或者配置环节出了问题,咱们一步步排查:

1. 先确认MongoDB服务是否正在运行

这是最常见的原因!XAMPP默认不带MongoDB服务,如果你是单独安装的MongoDB,得先确认它的服务状态:

  • Windows:按下Win+R输入services.msc,找到MongoDB服务(通常叫MongoDB Server),看状态是不是「正在运行」,没启动的话右键启动它。
  • Linux/macOS:终端运行systemctl status mongod(Linux)或者brew services list(macOS用brew安装的情况),确认服务处于运行状态。

2. 检查MongoDB的监听配置

有时候MongoDB的配置文件限制了监听IP,导致127.0.0.1无法连接:
找到你的MongoDB配置文件(比如Windows下可能在C:\Program Files\MongoDB\Server\X.X\bin\mongod.cfg,Linux通常在/etc/mongod.conf),打开后找net节点:

net:
  port: 27017
  bindIp: 127.0.0.1  # 确保这里是127.0.0.1或者0.0.0.0(允许所有IP访问)

如果bindIp被改成了其他IP或者注释掉了,修改后重启MongoDB服务。

3. 确认Laravel使用的MongoDB包版本正确

Laravel 6需要搭配特定版本的jenssegers/mongodb包,版本不匹配会导致各种奇怪问题:

  • 打开项目根目录的composer.json,确认jenssegers/mongodb的版本是^3.6(这是Laravel 6对应的兼容版本)。
  • 如果版本不对,运行composer require jenssegers/mongodb:^3.6安装正确版本,再执行composer dump-autoload更新自动加载。

4. 清除Laravel的配置缓存

修改.env或config/database.php后,Laravel可能还在使用旧的缓存配置,必须手动清除:
在项目根目录的终端运行:

php artisan config:clear
php artisan cache:clear

确保新的数据库配置生效。

5. 测试PHP直接连接MongoDB(排除Laravel层面问题)

写一个简单的PHP脚本,放在XAMPP的htdocs目录下,测试PHP扩展能否正常连接MongoDB:

<?php
// 测试MongoDB连接
try {
    $manager = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017");
    $pingCommand = new MongoDB\Driver\Command(['ping' => 1]);
    $cursor = $manager->executeCommand('admin', $pingCommand);
    $result = $cursor->toArray()[0];
    
    if ($result->ok == 1) {
        echo "PHP直接连接MongoDB成功!问题出在Laravel配置或包上";
    }
} catch (MongoDB\Driver\Exception\Exception $e) {
    echo "PHP连接失败:" . $e->getMessage();
}
?>

运行这个脚本,如果还是报连接拒绝,那就是MongoDB服务或PHP扩展的问题;如果成功,再回头检查Laravel的配置细节。

6. 检查本地防火墙/杀毒软件

本地防火墙或者杀毒软件可能拦截了27017端口的连接,暂时关闭防火墙试试,看能不能正常连接。

最后再核对一遍配置

再确认你的配置细节:

  • .env里的DB_CONNECTION=mongodb要确保没有拼写错误
  • config/database.php里的mongodb连接配置,如果你没有设置MongoDB的用户名密码,可以暂时注释掉options里的database配置项,或者设为你的目标库mongotest试试。

如果以上步骤都试过还是不行,去MongoDB的日志文件(通常在data/log目录下)看看详细错误信息,能帮你进一步定位问题。

内容的提问来源于stack exchange,提问作者ehsan asarzadeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 10:07:55