我正在创建一个永远不会过期的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-Agecookie参数,而不是精确的ExpiresMax-Age是由浏览器从收到cookie时开始计算的,因此从setcookie()调用到浏览器收到响应之间显然有12秒。

关于php - Cookie到期日期不一致,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19585945/

10-09 22:41