Cookie过期日期的差异

时间:2013-10-25 09:23:28

标签: php cookies

我正在创建一个永不过期的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

这种差异来自何处?

1 个答案:

答案 0 :(得分:3)

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

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