PHP - 您是否需要再次设置会话数据以重置生命周期?

时间:2012-12-05 10:19:28

标签: php session lifetime

...或者你只需​​要开始一个新会议吗?

我已经完成了修复导致会话过期的错误的任务,即使session.gc_maxlifetime设置为8小时(它确实已设置,我已经检查过)。

在完成代码之后,我注意到每个加载都会调用session_start(),正如预测的那样,但登录数据会话仅在用户登录时设置。

我是否需要在每次加载页面时设置用户数据会话以重置会话生命周期?

即使页面没有重新加载,我也需要会话活动8小时。

2 个答案:

答案 0 :(得分:0)

您需要再次设置会话变量。

一种方法,使用$_SESSION['last_click_time'] = time();并进行比较。如果它已过时,请刷新会话变量,重新登录用户等等。

答案 1 :(得分:0)

您可能正在使用会话文件的默认位置,它是服务器上所有网站共享的临时目录。在这种情况下,最短session.gc_maxlifetime的网站可能会删除所有网站的会话数据。原因是没有办法确定哪个站点拥有什么会话文件。

您需要为会话创建自定义目录,并使用session.save_path

指定它