【发布时间】:2014-05-08 08:23:03
【问题描述】:
我已经在谷歌上搜索过,到目前为止我所知道的是,当浏览器关闭时会话会被破坏,如果浏览器只是保持打开状态,会话会在 24 分钟等固定时间后自动过期。
但是这 24 分钟的计数器什么时候开始?服务器何时执行session_start() 行?这个问题可能有点长,但请多多包涵。假设我有一个包含以下代码的 php 页面:
<?php
session_start();
?>
如果用户打开此页面并仅保持打开大约一个小时,那么尽管页面仍处于打开状态,会话是否仍会过期?如果我在网站每个页面的开头添加session_start()code,每次用户打开网站的新页面时,计数器是否会重置为零?
基本上,我想创建一个登录系统,当用户关闭站点或单击注销按钮时将其注销,并且只要他打开站点,我就希望他保持登录状态,而不会自动注销24 分钟或任何其他固定时间后。
【问题讨论】:
-
您可以更改会话超时:stackoverflow.com/questions/8311320/…
-
如果用户只需要保持页面打开,您将需要执行轮询服务器以保持会话处于活动状态。如果用户确实执行了某种类型的操作,您可以简单地在您的一个 PHP 页面上重置他们的计数器。