【发布时间】:2011-09-21 19:15:48
【问题描述】:
当我在 Google Chrome 中查看我网站的 cookie 时,我看到了 PHPSESSID、__utma、__utmb、__utmc 和 __utmz。我不明白这些 cookie 是什么意思,除了 PHPSESSID,我认为这是用户的登录会话。有些会在“当我关闭浏览器时”过期,而另一些会在未来某个日期过期。例如,有没有办法让它们在 2 年内到期?
我正在尝试使用户在关闭浏览器后保持登录状态。
【问题讨论】:
-
不! 不将会话生命周期延长数年。每个会话都与磁盘上的文件(或数据库中的记录)相关联,将这些会话文件保存多年是完全没有意义的。如果您有想要长期存储在用户浏览器中的数据,请在独立的 cookie 中进行,而不是会话。
-
@Charles:会话 cookie 的生命周期与会话文件的生命周期无关。这由 PHP 中的其他设置决定。
-
@Marc,但是当 cookie 后面的会话数据消失时,保留 cookie 是很愚蠢的。
-
确实如此。无论如何,我将浏览器设置为在退出时清除所有 cookie,因此它们的生命周期不会对我产生丝毫影响。
-
是的,但这是相反的方向。