如何让SESSION饼干持续一年?

时间:2012-11-01 04:41:59

标签: php session

如何让SESSION cookie持续更长时间?

我在登录用户的文件中使用此代码:

<?
session_regenerate_id();
session_set_cookie_params(3600*24*365);
session_start();
$_SESSION['u']['id'] = xxxx;
?>

在网站的其余部分,我只使用session_start();开始会话。

客户端上的Cookie PHPSESSID设置为365天后过期,但如果我一天不使用该网站并返回,则我已注销。我是否必须做其他事情才能使cookie持续更长时间?

1 个答案:

答案 0 :(得分:0)

在普通的Cookie中,您可以在设置Cookie时手动执行此操作:

setcookie($foo, $bar, time()+(3600*24*365));

但是,在您的浏览器关闭后,会自动删除会话cookie(除非您使用的是专门在运行时保存会话的浏览器)。老实说,如果你希望会话的持续时间超过会话,你应该使用某种数据持久性序列化所述会话,比如MySQL。