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

Laravel本地项目无法连接数据库,排查配置后仍未解决

Laravel 本地数据库连接失败排查方案

针对你切换Laragon后仍出现「unable to connect」数据库连接失败的问题,可按以下步骤逐一排查:

  • 确认数据库服务运行状态
    打开Laragon控制面板,检查MySQL/MariaDB模块的状态灯是否为绿色;也可通过命令行执行 netstat -ano | findstr :3306(Windows),确认3306端口是否被正常监听。

  • 验证数据库账号有效性
    使用Laragon自带的phpMyAdmin登录数据库,确保你在.env中配置的账号能正常登录,且拥有目标数据库的读写权限。若使用root账号,需确认其允许本地(127.0.0.1/localhost)连接。

  • 清除Laravel配置缓存
    Laravel可能缓存了旧的数据库配置,执行以下命令强制刷新:

    php artisan config:clear
    php artisan cache:clear
    php artisan config:cache
    
  • 绕过Laravel直接测试数据库连接
    在项目根目录创建test-db.php文件,用原生PDO测试连接,排除框架层面的问题:

    <?php
    require __DIR__.'/vendor/autoload.php';
    $dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
    $dotenv->load();
    
    try {
        $pdo = new PDO(
            "mysql:host={$_ENV['DB_HOST']};dbname={$_ENV['DB_DATABASE']};charset=utf8mb4",
            $_ENV['DB_USERNAME'],
            $_ENV['DB_PASSWORD']
        );
        echo "数据库连接成功!";
    } catch(PDOException $e) {
        die("连接失败原因: " . $e->getMessage());
    }
    

    访问该文件,获取具体的错误信息,这比Laragon的弹窗提示更详细。

  • 检查主机与端口配置细节
    确认.env中的DB_HOST设置为127.0.0.1(部分环境下localhost会优先使用socket连接,可能与Laragon配置冲突);DB_PORT保持为3306(Laragon默认端口,除非你手动修改过)。

  • 查看Laravel错误日志
    打开storage/logs/laravel.log,定位最新的数据库连接报错日志,里面会包含具体的失败原因(如账号密码错误、数据库不存在、权限不足等),这是排查问题的核心依据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 13:17:04