我正在学习Zend Framework,并在网站上提供官方文档。
但是我对Zend_Session的一个奇怪的行为感到困惑:当用户通过身份验证,浏览应用程序页面时 - 一切正常但是如果他快速刷新浏览器页面(按F5或工具栏中的按钮)或者即使一些AJAX php文件(使用会话)被多次请求, - 会话突然过期(用户未经身份验证,但Cookie过期日期相同)。
虽然,我在我的应用程序中没有使用ACL和MVC结构。
所以它的工作原理非常简单,但是当页面快速刷新时会失败。此外,我不知道为什么,但是/home/user/sessions/
为每个用户访问过的网页创建了一个单独的Cookie文件。
这里有一个类似的问题 zend session expires when refreshed many times 但提供的解决方案对我没有帮助:(
答案 0 :(得分:0)
在你的配置中,你应该设置这样的东西:
;; ========================= Session ===========================================
resources.session.save_path = APPLICATION_PATH "/../data/session"
resources.session.name = "SESSION"
resources.session.gc_maxlifetime = 5184000
resources.session.gc_probability = 1
resources.session.gc_divisor = 1000
resources.session.remember_me_seconds = 5184000
resources.session.cookie_lifetime = 5184000
应该这样做。