3

我正在创建一个永远不会过期的 cookie,所以我将过期日期设置为 2038-01-01:

setcookie($keyword, $value, mktime(0, 0, 0, 1, 1, 2038));

我希望将到期日期/时间设置为

2038 年 1 月 1 日 00:00:00

但是当我在 Firefox 的 cookie 中检查它时,我看到了

2038 年 1 月 1 日 08:00:12

这种差异从何而来?

4

1 回答 1

3

mktime在服务器的时区运行。当您检查 Firefox 的 cookie 时,它​​会以您当地的时区显示它们。如果它们不同,您会看到这样的差异。

秒字段中的:12可能是由于服务器使用Max-Agecookie 参数而不是精确的Expires. Max-Age由浏览器从收到 cookie 的时间开始计算,因此在setcookie()调用和浏览器收到响应之间显然有 12 秒。

于 2013-10-25T09:34:00.743 回答