PHP会话到期时间 - 保持会话活着的分钟/小时/天的具体数量(PHP Sessions expir

2019-08-31 14:06发布

我有一个创建的购物车会话的站点。

$_SESSION['cart']=array();

看来,如果服务器不活动的X时间后自动注销会话,我想这是在php.ini(集,但我的主机不授予我访问,他们只是让我告诉他们的变化,所以我不能玩! :()。

有没有更好的方式来永葆例如2天或为分钟/小时,具体数量会议?

Answer 1:

呼叫session_set_cookie_params()调用之前session_start()在你的脚本:

$session_lifetime = 3600 * 24 * 2; // 2 days
session_set_cookie_params ($session_lifetime);
session_start();
// ...

从文档 :

session_set_cookie_params()
在php.ini文件中定义的设置cookie的参数。 这个函数的作用只持续了脚本的时间。 因此,你需要调用session_set_cookie_params()为每个请求和之前session_start()被调用。

另外,您也可以更新您的php.ini文件的session.cookie_lifetime指令至2天(以秒为单位)。



Answer 2:

设置一个cookie,并改变你的配置会话使用cookies

session_start();
set_cookie("PHPSESSID", session_id(), time() + 3600 * 2);

这永葆会话2小时



文章来源: PHP Sessions expiry time - keeping session alive for a specific number of minutes/hours/days