Php Cookie过期是特定于浏览器还是特定于服务器?

Php Cookie过期是特定于浏览器还是特定于服务器?,php,cookies,setcookie,Php,Cookies,Setcookie,我正在设置一个cookie,过期时间为 mktime(24,0,0). 我的问题很简单。如果浏览器的时区不同,cookie将跟随服务器的时区过期还是跟随浏览器的时区过期?设置cookie标头将时区信息作为expires datetime的一部分,以便用户代理知道其何时过期 设置Cookie:sessionToken=abc123;Expires=Wed,2021年6月9日10:18:14 GMT 从php文档中获取 到期 注意:您可能会注意到expire参数带有Unix时间戳, 与日期格式W

我正在设置一个cookie,过期时间为

mktime(24,0,0).

我的问题很简单。如果浏览器的时区不同,cookie将跟随服务器的时区过期还是跟随浏览器的时区过期?

设置cookie标头将时区信息作为expires datetime的一部分,以便用户代理知道其何时过期

设置Cookie:sessionToken=abc123;Expires=Wed,2021年6月9日10:18:14 GMT

从php文档中获取

到期

注意:您可能会注意到expire参数带有Unix时间戳, 与日期格式Wdy、DD Mon YYYY HH:MM:SS GMT不同,这是 因为PHP在内部进行这种转换

从,mktime函数:

返回与给定参数对应的Unix时间戳。这 时间戳是一个长整数,包含两个时间间隔的秒数 Unix纪元(1970年1月1日00:00:00 GMT)和指定的时间

它包含一个秒数,一个时间量:不需要关心时区

mktime(24,0,0)

根据正在运行的timezone()服务器计算机计算第二天00:00:00的unix时间戳,并返回整数时间戳

现在,当你把它传给
setcookie(访问,日期(“fjs-g:ia”),mktime(24,0,0))
在浏览器上,它将此“自历元起的时间戳”转换为本地时区,并设置cookie的过期时间


您应该知道,我们仍然在根据服务器端时间框架控制cookie的寿命。

您所说的都是真的,但这并不能完全回答问题。指定TTL并不意味着PHP可以正确地翻译它。最后,浏览器会存储cookie并使其过期,但不会存储需要在“24小时后”删除的cookie;基本上,它一直处于活动状态,直到第二天00:00:00服务器端时间。?