PHP7 YII2 @session_regenerate_id 500

旧项目迁移 登录过程中出现500 莫名出现的问题,而且没有错误记录
排查过程
首先想到可能是session目录没有写的权限
默认目录在/var/lib/php/session
查看没问题

然后又各种测 就是不行。。。而且无法获取异常信息

接着google了下

发现不止我一个人遇到。。。而且是yii的bug,过程不阐述了

相关链接:https://github.com/yiisoft/yii2/issues/10489

这种情况一般是由于 Yii2 用Redis 管理Session 导致的

解决方法大致有两种

一、在\yii\redis\Session 添加一个方法 因为Yii 获取SESSION 的时候其实是获取的 RedisSession 由于 RedisSession 继承的 是Web/Session 所以调用的是web session 的方法 在RedisSession 重写下覆盖掉 不走那一段就OK了

二、在配置文件里不用redis 管理Session 即可