Drupal 9.2.4版本升级后登出再登录失效问题求助
Drupal 8.x 升级到 9.2.4 后登出无法二次登录的修复方案
- 检查站点
services.yml的会话Cookie配置:Drupal 9 对Cookie的SameSite属性默认校验更严格,找到session.storage.options配置块,确认参数符合当前站点的访问场景:
parameters: session.storage.options: # 站点无跨域登录需求保留Lax即可,跨域场景需设为None且必须全站开启HTTPS cookie_samesite: 'Lax' # 全站HTTPS必须配置为true,否则会出现Cookie写入失败 cookie_secure: true cookie_httponly: true
- 排查自定义登出逻辑冲突:如果有自定义实现
hook_user_logout()的功能,暂时注释掉手动清理会话、Cookie的相关代码后重试,部分旧版本适配Drupal 8的自定义清理逻辑和Drupal 9.2.x的内置会话清理逻辑存在冲突,会导致后续会话无法正常生成。 - 校验PHP会话存储权限:运行命令
ls -ld $(php -r "echo session_save_path();")确认Web服务运行用户对会话存储目录有读写权限,Drupal 9 对会话存储的权限校验比8.x更严格,权限不足会导致会话文件写入失败无报错。 - 清空全链路缓存:先执行
drush cr清空Drupal全站缓存,再清空Redis、CDN等外部缓存,最后清除浏览器本地Cookie后,使用隐私模式测试登录流程,排除缓存残留干扰。
内容的提问来源于stack exchange,提问作者kowsalya v
相关产品推荐
相关产品推荐

