在PHP中扩展cookie过期日期

时间:2011-09-21 19:15:49

标签: php cookies

当我在Google Chrome浏览器中查看我网站的Cookie时,我看到PHPSESSID__utma__utmb__utmc__utmz。我不明白这些cookie是什么意思,除了PHPSESSID,我认为是用户的登录会话。有些过期“当我关闭浏览器”时,其他将在某个未来日期到期。有没有办法可以让它们在两年内全部到期?例如?

我正在努力使用户在关闭浏览器后保持登录状态。

3 个答案:

答案 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