PHP中的session_start会阻止会话过期吗?

时间:2014-06-27 09:41:06

标签: php session

我对在session_start中使用PHP感到有些困惑。我应该在用户最初创建会话时以及在后续查询中恢复它时,还是仅在创建时使用它?

目前我不会在会话已经存在时调用它,但我发现会话有时会意外地快速到期:

例如,从我的网站的公共日志中我看到:

srinivasvarma678 09:14:34 27-Jun-14
    I've just logged in...

...

srinivasvarma678 08:59:38 27-Jun-14
    I'm proud to tell I've just solved Vowel Count!

即。用户与网站的最后一次互动是在8:59,然后在15分钟内他需要再次登录(尽管session.gc_maxlifetime=1440

这种行为是否可以通过我每次都没有调用session_start这个事实来解释?

2 个答案:

答案 0 :(得分:2)

简答:是的

如PHP文档中所述here

session_start() creates a session or resumes the current one based on a 
session identifier passed via a GET or POST request, or passed via a cookie.

因此,如果您想要continue会话,则应始终在每个页面上使用session_start() ...

答案 1 :(得分:2)

session_start()允许您在脚本中使用会话。

您应该在创建新会话或重复使用现有会话时使用它。

它还会更新会话,不会被垃圾收集和删除。