描述:
简单的说就是在登录页面ajax调用php的api登录后前端跳转。
问题:
在chrome浏览器下,有时候登录session会丢失,但打了log发现每次调用api都能set到session。session是存储在memcache里面的,在多次登录后再次快速点击登录按钮就发现session没设置到,很奇怪。
在overflow很多人都提到facvicon.ico的问题,调试了发现也不是这个原因。
之前在js做了一个延时2秒跳转起到作用,但现在又不行,刚刚在php脚本set完session后return之前加了sleep延时2秒,又起到作用,真搞不懂是什么原因了。
环境是测试环境,就一台服务器,不是多服务器共享session,当然线上是,线上也有这个问题。
关于存储memcache的,每次点登录后session失效都去查过memcache,确实没有这些数据,正常登录后又有数据,如果是php存储到memcache的问题,又要怎么去调试和解决?
还有关于window.location.href这个的问题,也有人提到这个方法会重启一个httpcontext导致session丢失的问题,这里也很奇怪,我在调登录api后在ajax里打了断点,阻止window.location.href跳转,然后在另外的页面访问输出session,有时候有session,但跳转之后就没了,但有时候也没有。
问题描述大概就是以上,有的话再补充!!!
MMMHUHU
慕少森
达令说
人到中年有点甜