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

Laravel 8随机出现未指定应用加密密钥、401未认证等错误问题求助

请优先阅读并回答所提问题,不要建议优化公共路由,该路由设置是有意为之,绝非意外。


第5次编辑(2021.10.20更新)

遗憾的是问题仍未得到解答,我对此十分困惑,更奇怪的是过去几天这个错误再也没有出现,我完全不知道是什么原因导致的。

我之前自定义了静态方法User::hasRole(['...']),每次校验角色时都会查询用户的userRoles。我做的最大改动是将用户角色缓存到session中,避免每次都要查询数据库(因为数十个rest请求作为查询构造器过滤器的一部分,需要反复从DB校验角色)。

$userRoles = Session()->get('userRoles', function() {
    $user = User::with(['userRoles'])->find(Auth::user()->id);
    Session()->put('userRoles', $user->userRoles);
    return $user->userRoles;
});

我知道这个方案在某些场景下可能存在问题,但结合我的项目属性,该风险几乎可以忽略。

这些随机报错从未指向某个特定方法,也没有线索指向角色缓存的方向。看起来这个问题会一直是个谜,但目前它已经不再引发故障了。我猜测最大的可能是并行PHP/SQL线程过多,某种情况下导致内核管道随机失败,出现认证异常。

感谢所有尝试提供帮助的人。

第4次编辑(2021.9.14更新)

将缓存驱动从file改为array没有解决问题,某个端点直接返回"unauthenticated"提示,即便用户处于已认证状态。

第3次编辑:问题仍未解决,现将情况汇总如下
  • 密钥已经生成,甚至多次重新生成过
  • 运行环境为Laravel 8、XAMPP
  • 已多次执行config:cache命令。如果清除配置缓存,问题出现频率会更高,当前约每100-200次REST请求会随机失败1次,该问题不会在LAMP生产服务器上出现
  • 该问题会随机引发不同报错,全部与用户会话相关
  • 未指定应用加密密钥
  • 401 - unauthenticated
  • SQL连接错误(刷新页面或重新发起POST请求就能正常运行,单页加载的约20次REST请求中可能仅1次出现该问题)
  • 看起来不是CSRF-token相关错误,因为会话处于活跃状态(其他REST请求没有失败),但出现错误时Axios的响应头中没有XSRF-token,请求头中是存在该token的…看起来还是后端无法找到对应会话?
  • 当前使用文件式会话存储,后续将尝试内存式存储

初始问题描述

我遇到的问题是Laravel的rest路由随机返回500错误,提示"No application encryption key has been specified"。我当然已经通过Artisan设置甚至重置过密钥,所以这不是问题根源。

这个问题从我使用Laravel 6启动项目时就一直存在,我很快就定位到问题和缓存相关:使用php artisan cache:clear清除缓存后,约5%的REST请求会失败;使用php artisan config:cache重新生成缓存后问题就会解决。看起来清除缓存后.env变量没有被正确注册或读取?不过开发阶段配置好缓存后就不会出现该问题,所以之前没太在意。

我将项目从Laravel 6升级到8后,这个问题再次出现,我找不到引发问题的原因。

我的应用在Vue SPA初始化时会并行请求10-20个原子REST接口获取基础信息,所有请求都是异步发起的,偶尔(大概每10次页面刷新/重新初始化就会出现1次)其中某一个请求会失败。

运行环境为最新版XAMPP,没有使用XDebug等可能阻塞请求的工具,想问下有没有其他人遇到过同样的问题?

编辑补充

除此之外我还会遇到随机的"401 - unauthenticated"错误,问题表现和应用密钥错误高度相似。比如这张截图是我在浏览器中跳转页面操作20分钟左右出现的,前后所有其他请求也都是需要认证的接口,只有这单个请求无缘无故返回401。
示例截图

编辑2补充

修改lottery参数没有修复问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:18:02