当我在Google Chrome浏览器中查看我网站的Cookie时,我看到PHPSESSID
,__utma
,__utmb
,__utmc
和__utmz
。我不明白这些cookie是什么意思,除了PHPSESSID
,我认为是用户的登录会话。有些过期“当我关闭浏览器”时,其他将在某个未来日期到期。有没有办法可以让它们在两年内全部到期?例如?
我正在努力使用户在关闭浏览器后保持登录状态。
答案 0 :(得分:4)
__utma, __utmb, __utmc, __utmz
是由Google Analytics设置的Cookie,而不是您网站的代码。
要扩展PHPSESSID
cookie,您的PHP会话cookie,修改php.ini中的设置:
; some long value in seconds (1 year)
session.gc_maxlifetime = 31536000
session.cookie_lifetime = 31536000
对于您自己通过setcookie()
设置代码的cookie(列表中没有列出任何内容),将第三个参数作为值传递给秒:
// Two year cookie (86400 secs per day for 2 years)
setcookie('name', 'cookievalue', time() + 86400 * 365 * 2);
答案 1 :(得分:1)
这些是来自Google Analytics的Cookie来跟踪您。您可以阅读更多相关信息 here
只有当用户从您的网站注销时,会话或Cookie才会显示。如果它们的到期时间为0,则它们会在浏览器关闭时到期
答案 2 :(得分:1)
您需要找到设置Cookie的代码并添加适当的到期时间
setcookie ("TestCookie", "", time() + 3600); //expires after 1 hour