php会话到底什么时候到期?
我在谷歌上搜索过这个问题,到目前为止我知道的是,当浏览器关闭时,会话会被破坏,如果浏览器保持打开,会话会在固定的时间(如24分钟)后自动过期 但是这24分钟的计数器什么时候开始?当服务器执行php会话到底什么时候到期?,php,session,login,Php,Session,Login,我在谷歌上搜索过这个问题,到目前为止我知道的是,当浏览器关闭时,会话会被破坏,如果浏览器保持打开,会话会在固定的时间(如24分钟)后自动过期 但是这24分钟的计数器什么时候开始?当服务器执行会话\u start()行时?这个问题可能有点长,但请耐心听我说。假设我有一个php页面,其中包含以下代码: <?php session_start(); ?> 如果用户打开此页面并将其保持打开状态大约一个小时,会话是否仍然会在页面仍然打开的情况下过期?如果我在我的站点的每个页面
会话\u start()
行时?这个问题可能有点长,但请耐心听我说。假设我有一个php页面,其中包含以下代码:
<?php
session_start();
?>
如果用户打开此页面并将其保持打开状态大约一个小时,会话是否仍然会在页面仍然打开的情况下过期?如果我在我的站点的每个页面的开头添加session\u start()
代码,是否每次用户打开站点的新页面时计数器都会重置为零
基本上,我想建立一个登录系统,当用户关闭站点或单击“注销”按钮时注销,我想让他在站点打开时一直登录,而不会在24分钟后或任何其他固定时间后自动注销。会话首次创建时计时开始。在24分钟后,垃圾回收器随机启动时可能会删除它,也可能不会删除它(请参阅session.gc_*指令)。
您要做的是每N分钟重新生成一次会话(session_regenate_id()),这样只要用户处于活动状态,会话就不会过期。您只需更改会话超时:如果用户只需要保持页面打开,您需要实现轮询服务器以保持会话活动。如果用户确实执行了某种类型的操作,您只需在其中一个PHP页面上重置其计数器即可。