谷歌浏览器的cookie最大到期日

问题描述:

我创建我的网站时,我创建了一个新的cookie将这个PHP行:谷歌浏览器的cookie最大到期日

setcookie('subscribed', 'true', time() + 365*24*3600*100, '/', null, false, true); 

,我意识到我的浏览器(谷歌浏览器)拒绝让该cookie。当我在谷歌浏览器中查看我的cookies时,它不在那里。我开始与不同的设置摆弄直到我看到这个工作:

setcookie('subscribed', 'true', time() + 365*24*360, '/', null, false, true); 

这意味着改变到期时间为较低的值没有工作为使这项工作的一种手段。

我的问题是,您可以在谷歌浏览器中设置cookie的最低到期时间是多少?有谁知道这个政策?

+5

'time()+ 365 * 24 * 3600 * 100'将超过32位系统整数的最大值。 –

+0

那么32位系统的最大限制是多少? – Farid

+1

@法国2,147,483,647。一个有符号的32位整数的最大值。 – likeitlikeit

我刚刚尝试过在Chrome浏览器和Apache作为服务器的64位操作系统上,它的工作原理完美无瑕。它显示了cookie的到期时间是在今年的某个地方2113

开发无效居民可能是正确的:任何日期超过3时14分07秒UTC上Tuesday, 19 January 2038将返回到一定的时间接近1900,从而迫使cookie立即消失(在32位平台上)。

通过将cookie过期时间设置为未来不超过10年来解决此问题。无论如何,这已经超出了任何电子设备的合理预期寿命。

+0

是的,我在一个32位系统,是的,设定时间到10年确实工作。非常感谢! – Farid