设置 cookie 永不过期

2021-12-21 00:00:00 cookies php

查看 php 设置 cookie 文档 我发现我可以设置 cookie 的过期日期.您可以将 cookie 设置为在浏览器会话结束时或将来某个时间过期,但我没有看到将 cookie 设置为永不过期的方法.这甚至可能吗?这是如何实现的?

Looking at the php documentation on setting a cookie I see that I can set an expiration date for the cookie. You can set the cookie to expire at the end of the browser session or at some time in the future but I do not see a way to set the cookie to never expire. Is this even possible and how is this accomplished?

推荐答案

所有 cookie 根据 过期cookie 规范,所以这不是 PHP 限制.

All cookies expire as per the cookie specification, so this is not a PHP limitation.

使用遥远的未来日期.比如设置一个十年后过期的cookie:

Use a far future date. For example, set a cookie that expires in ten years:

setcookie(
  "CookieName",
  "CookieValue",
  time() + (10 * 365 * 24 * 60 * 60)
);

请注意,如果您在 32 位 PHP 中将日期设置为 2038,则该数字将环绕并且您将获得一个立即过期的 cookie.

Note that if you set a date past 2038 in 32-bit PHP, the number will wrap around and you'll get a cookie that expires instantly.

相关文章