我对在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
这个事实来解释?
答案 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()允许您在脚本中使用会话。
您应该在创建新会话或重复使用现有会话时使用它。
它还会更新会话,不会被垃圾收集和删除。