错误。Laravel官方不推荐在生产环境中直接使用.env文件,而应通过系统环境变量或Docker注入等更安全的方式配置;.env仅适用于本地开发,且必须禁止提交至Git、设置严格文件权限,并在部署时清除缓存。

直接修改项目根目录下的 .env 文件即可,这是 Laravel 10 官方推荐且最安全的配置方式。它不涉及改写 PHP 配置文件,所有环境相关参数都集中在此,启动时自动加载并覆盖 config/ 目录下各文件中的默认值。
如何创建和编辑 .env 文件
项目初始化后通常自带 .env.example,只需复制并重命名为 .env:
- Linux/macOS:运行
cp .env.example .env - Windows(命令行):运行
copy .env.example .env - 用纯文本编辑器(如 VS Code、Notepad++)打开
.env,按需修改键值对
注意避免使用带 BOM 的编码(尤其 Windows 记事本),否则可能导致 env() 解析失败,出现 null 或连接异常。
关键环境变量示例与说明
常见变量按用途分类设置,每行一个,格式为 KEY=VALUE,等号前后不留空格:
-
基础运行环境:
APP_NAME=MyApp、APP_ENV=local(开发)、production(线上)、APP_DEBUG=true(仅开发启用) -
数据库连接:
DB_CONNECTION=mysql、DB_HOST=127.0.0.1、DB_PORT=3306、DB_DATABASE=laravel、DB_USERNAME=root、DB_PASSWORD= -
缓存与队列:
CACHE_DRIVER=redis、SESSION_DRIVER=redis、QUEUE_CONNECTION=redis(若用 Redis) -
第三方服务:
PUSHER_APP_KEY=xxx、MAIL_MAILER=smtp、MAIL_HOST=smtp.gmail.com等
配置生效与缓存优化
修改 .env 后,Laravel 不会自动重载新值,需手动清理配置缓存:
- 执行
php artisan config:clear清除旧缓存 - 再运行
php artisan config:cache生成新缓存(生产环境必须执行) - 如果遇到配置未更新,检查是否漏掉
config:clear,或确认.env文件权限是否可读
注意:修改后无需重启 Web 服务器(如 Nginx/Apache),但 Artisan 命令和队列监听器需重新启动才能读取新值。
安全与部署注意事项
.env 是敏感信息载体,务必做好防护:
- 确保
.gitignore中已包含.env,防止误提交到 Git - 生产环境必须设为
APP_DEBUG=false,禁用错误详情输出 - 禁止将
.env内容打印到日志(如Log::info(env('DB_PASSWORD'))) - 容器化部署时,建议用 Docker secrets 或
docker-compose.yml的environment字段注入,而非挂载明文.env


















