我正在创建一个永不过期的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
这种差异来自何处?
答案 0 :(得分:3)
mktime
在服务器的时区运行。当您检查Firefox的cookie时,它会在您当地的时区显示它们。如果它们不同,你会发现这样的差异。
秒字段中的:12
可能是由于服务器使用Max-Age
cookie参数而不是精确的Expires
。 Max-Age
是由浏览器从收到Cookie时开始计算的,因此在setcookie()
通话和浏览器收到响应之间显然有12秒。