修改 Laravel 的 .env 文件后不生效,通常因配置缓存未清除。1. 执行 php artisan config:clear 清除配置缓存,建议依次运行 config:clear、cache:clear、route:clear 和 view:clear 以彻底刷新;2. 生产环境中修改 .env 后需重新执行 config:cache 生成新缓存;3. 确保 .env 文件位于根目录、命名正确、权限可读,且未误用 .env.example;4. 开发环境应避免长期启用配置缓存,防止掩盖环境变量变更。执行 config:clear 后问题基本可解决。
如果 Laravel 的 .env 文件修改后不生效,通常是因为配置已经被缓存,框架不再重新读取环境变量。Laravel 在生产环境中会缓存配置以提高性能,但开发过程中修改 .env 后必须清除缓存才能让更改生效。
执行以下 Artisan 命令来清除配置缓存:
php artisan config:clear该命令会删除由 php artisan config:cache 生成的配置缓存文件(位于 bootstrap/cache/config.php)。
为了确保完全刷新,建议按顺序执行以下命令:
用缓存(可选,更彻底)在生产环境中,如果你使用了 php artisan config:cache,那么之后所有对 .env 的修改都不会自动生效。
正确做法是:
确认以下几点:
在本地开发时,不要长期启用配置缓存。每次部署到生产环境前再生成一次即可。
避免在开发中运行 config:cache,否则会掩盖 .env 的变更。
基本上就这些。只要记得修改 .env 后运行 php artisan config:clear,大多数“不生效”问题都能解决。