Magento 2 安装后出现Assertion failed错误 登录用户无法正常结账
Magento 2 已登录用户无法加购、结账报错解决方案
报错说明
触发场景:仅已登录用户操作时出现,访客模式正常,仅Chrome/Edge/Safari等主流浏览器复现,开发环境无异常
错误输出:Assertion failed: titles extraction error
解决步骤
- 优先清理生产环境差异化缓存,该类跨环境不一致问题90%以上由缓存不一致导致:
执行Magento命令清理会话、全页缓存:php bin/magento cache:clean full_page session
若使用Redis存储会话/缓存,同步清空对应库的旧数据,避免残留异常的用户会话渲染参数。 - 重新编译生产环境静态资源,排除静态资源打包异常:
依次执行以下命令:rm -rf pub/static/* var/view_preprocessed/* generated/* php bin/magento setup:di:compile php bin/magento setup:static-content:deploy -f # 按站点实际需要补充语言参数,如 zh_Hans_CN en_US php bin/magento cache:flush - 排查自定义扩展/代码逻辑:如果有对登录用户的购物车、结账页、头部标题做过二次开发,检查代码中提取客户属性、自定义标题的逻辑是否缺少非空判断,登录状态下未兼容参数为空的场景会触发该断言报错。
- 兼容前端缓存冲突:若近期有上线更新,老用户本地localStorage中残留的旧版前端渲染数据会和新代码冲突,可在前端登录逻辑中增加静态资源版本号校验,版本不匹配时自动清空用户本地存储,避免兼容问题。
验证方式
清理浏览器缓存后使用无痕模式登录测试,确认加购、结账按钮功能正常即可。
内容的提问来源于stack exchange,提问作者scody
相关产品推荐
相关产品推荐

