如果用户登陆没有session_start()的页面,会话是否会死?

时间:2013-12-05 19:56:23

标签: php

我有一个有几百页的网站。大多数页面顶部没有session_start()。我在index.php页面上有它,我需要一些会话变量的信息。但是,如果用户导航到没有session_start()的页面,然后返回index.php页面,则会话不再处于活动状态。它是否正确?我是否需要在每个页面上保持活动状态?

2 个答案:

答案 0 :(得分:3)

会话activity由您的代码最后一次访问会话数据确定(字面意思 - 您上次调用session_start()时)。

如果自上次访问以来经过的时间超过session.gc_maxlifetime,则由垃圾收集器收集(有一定概率)。

所以 - 拥有一个没有session_start()的页面不会明确地“终止”它,但不会在一段时间内访问会话数据 - 会这样做。

答案 1 :(得分:0)

没有

这一切都基于存储在浏览器中的cookie。浏览器发送cookie,PHP使用它来加载会话数据。如果发送了cookie,但未使用session_start启动会话,则数据仍然存在。 (通常存储在/tmp某处。)