Laravel 8中如何将.env文件重命名为其他自定义名称?
Laravel 8 自定义.env文件名的实现方法
Laravel 8 原生支持修改 .env 默认文件名,具体操作步骤如下:
- 第一步:在项目根目录下将原
.env文件重命名为你想要的自定义名称,例如.app_cfg_xxx(前缀保留点号可以让文件在类Unix系统下默认隐藏,降低被意外枚举的概率) - 第二步:打开项目下的
bootstrap/app.php文件,在返回应用实例的代码前添加加载自定义配置文件的逻辑:
// 加载自定义名称的环境配置文件 $app->loadEnvironmentFrom('.app_cfg_xxx');
以上修改对 Web 请求和 Artisan 命令行调用都会生效。
额外注意事项
- 请给自定义配置文件设置合理的权限:建议设置权限为
600,所属用户和用户组与 Web 服务运行用户保持一致,避免其他系统用户读取配置内容 - 记得将新的自定义配置文件名添加到
.gitignore文件中,防止敏感配置意外提交到代码仓库 - 修改完成后可以执行
php artisan tinker,输入env('APP_NAME')验证配置是否正常读取,确认无误后可以删除原.env文件
可选:无需修改代码的配置方式
如果不想改动框架代码,也可以在 Web 服务配置中指定环境配置文件名:
- Nginx 配置:在站点的 fastcgi 参数配置块中添加
fastcgi_param APP_ENV_FILE .app_cfg_xxx;,重启 Nginx 生效 - PHP-FPM 配置:在对应的 fpm 池配置文件中添加
env[APP_ENV_FILE] = .app_cfg_xxx;,重启 PHP-FPM 生效
这种方式的好处是不同部署环境可以独立设置配置文件名,不需要修改代码仓库里的内容。
内容的提问来源于stack exchange,提问作者Acronym
相关产品推荐
相关产品推荐

