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

Laravel更换MySQL用户后旧用户仍连接问题求助

解决Laravel应用仍使用旧MySQL用户的问题
  • 重启PHP-FPM(或对应PHP运行时进程)
    Laravel的.env配置会被PHP常驻进程加载并缓存到内存中,修改.env后旧进程仍会保留旧配置。执行对应系统的重启命令即可,不会影响mysqld进程:

    # Ubuntu/Debian 系统
    sudo systemctl restart php8.2-fpm
    # CentOS/RHEL 系统
    sudo systemctl restart php-fpm
    
  • 检查并重启Laravel队列/定时任务进程
    队列、常驻调度器这类进程会一直持有旧的数据库配置,需要重启:

    # 用supervisor管理队列时重启
    sudo supervisorctl restart laravel-worker:*
    # 直接运行的队列进程,先终止再重启
    pkill -f "php artisan queue:work"
    php artisan queue:work &
    

    普通cron触发的定时任务无需重启,每次执行会重新加载配置。

  • 清除OPcache缓存(若已启用)
    OPcache可能缓存了Laravel配置文件内容,可通过命令清除:

    php -r 'opcache_reset();'
    

    也可临时在php.ini中设置opcache.revalidate_freq=0,刷新应用后再改回原值。

  • 手动确认配置缓存文件
    执行php artisan config:clear后,检查bootstrap/cache/config.php是否存在,若存在手动删除:

    rm bootstrap/cache/config.php
    
  • 验证新配置是否生效
    临时添加路由查看当前数据库用户名:

    Route::get('/check-db-user', function () {
        return DB::connection()->getConfig('username');
    });
    

    访问该路由,确认返回的是新创建的MySQL用户名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 16:57:06