基于以下问题/回答: CodeIgniter在Chrome上无法使用session类
我遇到的问题是,在美国服务器远离的另一个国家,人们无法登录我的网站。经过在线搜索,我发现了一些建议,描述了问题基于服务器时区和用户时区之间的差异。因此,通过扩展session_expiration,我成功解决了问题,并且人们能够成功登录。
我的问题是,sess_time_to_update是否会创建一个新的时间戳,并且由于新的时间戳位于错误的时区,它将注销用户? 我是否需要将新的sess_time_to_update延长17小时以上,以涵盖我链接中解释的最广泛的时区范围? 是否有其他方法可以基于用户的本地时间存储会话(而不要求他们在配置文件中选择时区或其他用户不友好的方案)?我希望具有2小时默认会话过期时间+800秒更新时间。我没有使用数据库来存储会话,我也不愿意使用它。
sess_time_to_update
保持较低呢?我真的不希望用户只是“因为”而获得新的会话ID。 - Yevgensess_time_to_update
设置得太高,可能会出现用户会话被销毁的情况,尽管他们可能正在进行某些操作。需要告诉CI定期更新以保持会话处于活动状态。更新频率取决于您的应用程序。如果您的会话长度为3小时,则5分钟以下的时间可能过猛,但如果您的会话设置为15分钟,则最好使用更小的时间范围。 - justanotherprogrammer