这一段代码 如果是正常的 $_SESSION 操作流程是对的;
问题1:
但假如其他用户通过 set/updatesession 操作,
就会进入第一个红线处,并且没有地方修正_sessionVersion参数。导致每次都会进第一个红线处调用getsession;
问题2:
当前用户如果通过 set/updatesession 操作,
也会进入第一个红线处,并且没有地方修正_sessionVersion参数。导致每次都会进第一个红线处调用getsession;
两个红线处代码改为以上是否更好?
在这之后我详细看了下 _sessionVersion参数,并未发现核心目的?所以这段代码是否可以改为
这里的
_sessionVersion
目的是记录session是否被set/updatesession修改过,如果修改过,当前的session有过期的可能,就从gateway进程重新获取session保证session是最新的。不过这里确实有个问题,某个特定条件下会导致session一直是调用getsession接口。主干已经修复。
$data['ext_data'] 传过来的不就是最新的吗?为啥还要getsession呢?
不一定最新的