在PHP中扩展cookie过期日期


Extending cookie expiration dates in PHP

当我在谷歌浏览器中查看我的网站的cookie时,我看到了PHPSESSID, __utma, __utmb, __utmc__utmz。我不明白这些cookie是什么意思,除了PHPSESSID,我认为这是用户的登录会话。有些会在"当我关闭浏览器时"过期,有些则会在未来某个日期过期。有没有办法让它们在2年内全部到期?

我试图使它,所以用户保持登录后关闭浏览器。

__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);

这些是谷歌分析跟踪你的cookie。

只有当会话或cookie过期时,用户才能从您的网站注销。如果过期时间为0,则在浏览器关闭

时过期。

您需要找到设置cookie的代码并添加适当的过期时间

setcookie ("TestCookie", "", time() + 3600); //expires after 1 hour