PHP会话到期时间 - 保持会话活动达特定的分钟/小时/天

sam*_*yb8 7 php cookies session timeout

我有一个网站,为购物车创建一个会话.

$_SESSION['cart']=array();
Run Code Online (Sandbox Code Playgroud)

似乎服务器在X时间不活动后自动杀死会话,我假设这是在php.ini中设置的(但是我的主机不授予我访问权限,他们只是让我告诉他们更改,所以我不能玩! :().

是否有更好的方法来保持会话活动,例如2天或特定的分钟/小时数?

Tim*_*per 14

session_set_cookie_params()你打电话之前,session_start()在你的脚本:

$session_lifetime = 3600 * 24 * 2; // 2 days
session_set_cookie_params ($session_lifetime);
session_start();
// ...
Run Code Online (Sandbox Code Playgroud)

文档:

session_set_cookie_params()
设置php.ini文件中定义的cookie参数.此功能的效果仅持续脚本的持续时间.因此,您需要在调用session_set_cookie_params()之前调用每个请求session_start().

或者,您可以将php.ini文件的session.cookie_lifetime指令更新为2天(以秒为单位).