我正在创建一个永远不会过期的cookie,因此我将过期日期设置为2038-01-01:setcookie($keyword, $value, mktime(0, 0, 0, 1, 1, 2038));
我希望到期日期/时间设置为
2038年1月1日00:00:00
但当我在Firefox的cookies中查看时
2038年1月1日08:00:12
这种差异是从哪里来的?
最佳答案
mktime
在服务器的时区运行。当你检查firefox的cookies时,它会显示在你的本地时区。如果它们不同,你会看到这样的差异。
seconds字段中的:12
可能是由于服务器使用了Max-Age
cookie参数,而不是精确的Expires
。Max-Age
是由浏览器从收到cookie时开始计算的,因此从setcookie()
调用到浏览器收到响应之间显然有12秒。
关于php - Cookie到期日期不一致,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19585945/