Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php会话到底什么时候到期?_Php_Session_Login - Fatal编程技术网

php会话到底什么时候到期?

php会话到底什么时候到期?,php,session,login,Php,Session,Login,我在谷歌上搜索过这个问题,到目前为止我知道的是,当浏览器关闭时,会话会被破坏,如果浏览器保持打开,会话会在固定的时间(如24分钟)后自动过期 但是这24分钟的计数器什么时候开始?当服务器执行会话\u start()行时?这个问题可能有点长,但请耐心听我说。假设我有一个php页面,其中包含以下代码: <?php session_start(); ?> 如果用户打开此页面并将其保持打开状态大约一个小时,会话是否仍然会在页面仍然打开的情况下过期?如果我在我的站点的每个页面

我在谷歌上搜索过这个问题,到目前为止我知道的是,当浏览器关闭时,会话会被破坏,如果浏览器保持打开,会话会在固定的时间(如24分钟)后自动过期

但是这24分钟的计数器什么时候开始?当服务器执行
会话\u start()
行时?这个问题可能有点长,但请耐心听我说。假设我有一个php页面,其中包含以下代码:

<?php
      session_start();
?>

如果用户打开此页面并将其保持打开状态大约一个小时,会话是否仍然会在页面仍然打开的情况下过期?如果我在我的站点的每个页面的开头添加
session\u start()
代码,是否每次用户打开站点的新页面时计数器都会重置为零


基本上,我想建立一个登录系统,当用户关闭站点或单击“注销”按钮时注销,我想让他在站点打开时一直登录,而不会在24分钟后或任何其他固定时间后自动注销。

会话首次创建时计时开始。在24分钟后,垃圾回收器随机启动时可能会删除它,也可能不会删除它(请参阅session.gc_*指令)。
您要做的是每N分钟重新生成一次会话(session_regenate_id()),这样只要用户处于活动状态,会话就不会过期。

您只需更改会话超时:如果用户只需要保持页面打开,您需要实现轮询服务器以保持会话活动。如果用户确实执行了某种类型的操作,您只需在其中一个PHP页面上重置其计数器即可。