PHP会话什么时候结束?

Joe*_*jah 10 php session

我似乎无法在互联网上找到明确的答案,所以我在这里问.

当一个人session_start();在.php脚本中使用并保存一些值时,会话什么时候结束?那么这些价值什么时候不能再次获得呢?

我发现刷新页面或停止会话代码会停止它,并且可能的超时也会停止会话.但是如果离开网站并在一分钟后返回呢?关闭浏览器?

至于最后一个,在移动设备上,"关闭浏览器"意味着什么?关闭标签甚至最小化网站?

Dev*_*vWL 6

如果您的会话值未链接到任何cookie,则会在Windows浏览器关闭时结束会话.

如果您的会话变量来自cookie,则会话将在cookie文件中指定的时间结束.

在PHP中,会话使用类型的cookie session.在服务器端,会话信息不断被删除.

要在php中设置cookie的生命周期,可以在session_start之前使用函数session_set_cookie_params:

session_set_cookie_params(3600,"/");
session_start();
Run Code Online (Sandbox Code Playgroud)

例如,3600秒是一小时,2小时是3600*2 = 7200.

但它是一个会话cookie,浏览器可以让它自己过期,如果你想保存更长的会话(比如记住登录),你需要保存服务器中的数据和客户端的标准cookie.

使用cookie时离开网站不会破坏会话.