【发布时间】:2013-06-23 14:41:13
【问题描述】:
我知道有类似我的问题,但没有人回答我的问题:
在我的 .htaccess 文件中,我有几条代码规则确保会话(登录用户)自动启动并持续一周:
#Set PHP rules
php_value session.gc_maxlifetime 604800
php_value session.gc_probability 0
php_value session.cookie_lifetime 604800
php_value session.name "DSWLogin"
php_value session.auto_start 1
它有效,会话自动设置为名称“DSWLogin”并持续一周。但是,当我的浏览器重新启动时,会话及其内容会被重置,因此会自动将用户注销。
所以在浏览器重启之前。 Before the browser restarts http://www.projectomicron.org/Images/Before%20Browser%20Restart.png
浏览器重启后:
After the browser restarts http://www.projectomicron.org/Images/After%20Browser%20Restart.png
【问题讨论】:
-
其他浏览器呢?
-
我们只能在这里猜测,因为从提供的信息中无法 100% 知道是什么原因造成的。我建议检查的事情是,在浏览器中启用了隐私浏览模式,清除浏览器关闭选项或类似的隐私信息。不管你怎么剪,这似乎是浏览器问题而不是代码问题。
-
如果您遵循 cookie 的规范,您可以看到这可能就是这种情况,所以我想知道这如何限定问题,因为这是记录在案的行为。客户端可以完全控制 cookie 的过期时间,您通过服务器告知的内容只是对客户端的建议。
-
@Anigel 好吧,我使用的是谷歌浏览器,而谷歌浏览器(隐私浏览除外)甚至没有提供在浏览器关闭时清除隐私信息的选项。
-
不正确。 Chrome 确实可以选择在退出时自动清除 cookie。高级设置 > 内容设置 > Cookies > 选择仅保留本地数据,直到我退出浏览器
标签: php session cookies browser restart