I was creating my website when I created a new cookie with this php line :

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

I realised my browser (Google Chrome) refused to get that cookie. When I looked at my cookies in Google Chrome it wasn't there. I started fiddling with the different settings until I saw that this worked :

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

Which meant that changing the expiration time to a lower value did work as a means of making this work.

My question is, what is the lowest expiration time you can set for a cookie in Google chrome? Does anyone know of this policy?

有帮助吗?

解决方案

I have just tried that on a 64bit OS with Chrome as a browser and Apache as a server, and it works flawlessly. It shows the cookie's expiration time to be somewhere in the year 2113.

dev-null-dweller is probably right: Any date beyond 03:14:07 UTC on Tuesday, 19 January 2038 will wrap around to some time close to 1900, thus forcing the cookie to immediately disappear (on 32bit platforms, that is).

Work around this by setting cookie expiration times to be no more than 10 years in the future, or so. This is already beyond the reasonably expectable lifetime of any electronic device, which will hold it, anyways.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top