php 8.6的升级说明调整了三项session默认配置。准备升级的网站,应在测试环境中验证登录、javascript读取会话cookie以及跨站回调流程,而不是等上线后才根据报错逐项回退。当前rc5仍是测试版本。

PHP官方Session默认值RFC页面
先核对三项配置的有效值
session.use_strict_mode默认由0改为1;session.cookie_httponly由0改为1;session.cookie_samesite从未设置改为Lax。显式配置可能覆盖默认值,因此要检查Web进程实际加载的配置。
session.use_strict_mode = 1 session.cookie_httponly = 1 session.cookie_samesite = Lax
登录与自定义会话处理分别测试
严格模式会拒绝没有对应存储记录的会话ID。使用自定义保存处理器、外部指定会话ID或特殊登录流程的网站,应检查处理器的ID校验与创建逻辑,再验证新登录、退出和过期后的行为。
检查前端代码是否依赖会话Cookie
启用HttpOnly后,JavaScript不能再通过document.cookie读取该会话Cookie。依赖这一做法的代码应重新设计数据传递方式,不应为了保持旧逻辑就统一关闭HttpOnly。
由 ReMe 驱动的记忆管理系统,支持跨会话记忆持久化、自动应用用户偏好以及智能上下文压缩...
跨站POST回调需要专项回归
SameSite=Lax会影响跨站请求携带Cookie的方式。确需跨站POST携带会话Cookie的流程,应依据业务核对SameSite=None和Secure等条件,避免把所有Cookie一律放宽。测试结果通过后,再制定正式版升级计划。
立即学习“PHP免费学习笔记(深入)”;


















