You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10升级后.env加密报错及.env.encrypted使用咨询

Laravel 10 环境加密问题解决

错误原因

你之前在Laravel 7用的是第三方包的env-encrypt命令,生成的OUT:加密字符串是该包的自定义加密标识,但Laravel 10内置的环境加密系统不兼容这个格式。框架读取数据库配置时,把未解密的加密串直接当成了数据库用户名(UID),所以触发了这个错误。

核心问题解答:不需要删除.env文件

Laravel读取环境配置的优先级是:.env文件 > .env.encrypted文件。如果.env存在,框架会优先读取它的内容,不会自动切换到.env.encrypted。

正确处理步骤

  • 先恢复.env的明文配置:
    用你之前Laravel 7使用的加密包的解密命令(比如php artisan env-decrypt),把所有带OUT:前缀的字段还原成明文,确保数据库配置(DB_USERNAME、DB_PASSWORD等)都是正确的明文值。
  • 切换到Laravel 10官方加密流程:
    1. 确认APP_KEY已设置(未设置则执行php artisan key:generate)
    2. 执行官方加密命令:php artisan env:encrypt,执行后会生成.env.encrypted文件,同时输出一个解密密钥,务必保存好这个密钥(丢失后无法解密配置)
    3. 若要测试加密配置,可将.env重命名为.env.backup,然后设置环境变量LARAVEL_ENV_ENCRYPTION_KEY为刚才生成的解密密钥,框架就会自动读取并解密.env.encrypted

内容的提问来源于stack exchange,提问作者sql query

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:02:12