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
相关产品推荐
相关产品推荐

