直接在项目根目录运行 php artisan key:generate 即可,这是 laravel 10 官方唯一推荐的方式;它自动生成32字节随机密钥并写入 .env 的 app_key 行,需确保 .env 存在、php≥8.0且启用openssl、已执行 composer install,生成后须运行 config:clear 验证生效。

直接在项目根目录运行 php artisan key:generate 即可,这是 Laravel 10 官方唯一推荐的方式。它会自动生成符合要求的 32 字节随机密钥,并写入 .env 文件的 APP_KEY 行。
确保前提条件已满足
执行命令前,请确认以下几点:
-
.env文件存在(若只有.env.example,先复制并重命名为.env) - 已成功执行
composer install,vendor/autoload.php可加载 - PHP 版本 ≥ 8.0,且启用了
openssl扩展(检查php.ini中extension=openssl未被注释) - 当前终端位于 Laravel 10 项目根目录(含
artisan文件)
生成后检查是否生效
运行完成后,打开 .env 文件,确认 APP_KEY 行形如:
注意:
- 长度应为 44 个字符(base64 编码后的 32 字节),不能是纯 32 位 hex 字符串或手动拼凑值
- 不能有前后空格、引号包裹,也不能留空或仅写
APP_KEY= - 若已存在但格式异常,建议删掉整行再重新运行命令
生产环境部署时的注意事项
Laravel 10 在生产环境仍需 .env 文件来接收 key:generate 的输出,但后续应通过系统级环境变量(如 Docker --env-file、K8s Secret 或 Forge/Vapor 变量管理)注入 APP_KEY,避免将 .env 提交或暴露。
- 部署脚本中可加判断:若
APP_KEY未设置,再执行生成命令 - 严禁在
Dockerfile中用ENV APP_KEY=xxx硬编码 - 生成后务必检查
.gitignore是否包含.env,防止密钥泄露
验证密钥是否正确加载
运行以下命令查看当前生效的密钥:
php artisan config:show app.key
如果返回空值或报错,说明配置缓存未刷新或密钥未读取成功,此时需依次执行:
php artisan config:clearphp artisan config:cache











