我需要使用PHP setcookie函数设置1小时后过期的cookie。我的服务器上的时区设置为GMT。我应该如何设置cookie过期日期,以使其跨不同客户端的浏览器时区工作?
发布于 2012-04-19 21:07:47
据我所知,客户端时间是多少并不重要。PHP根据unix时间码设置过期时间。这段时间内的任何变化都应该由服务器负责。
下面是setcookie()的PHP manual摘录:
过期时间:
cookie过期的时间。这是一个Unix时间戳,因此是自纪元以来的秒数。换句话说,您最有可能使用time()函数加上您希望它过期前的秒数来设置它。或者,您可以使用mktime()。time()+60*60*24*30会将cookie设置为30天后过期。如果设置为0或忽略,cookie将在会话结束时(浏览器关闭时)过期。
发布于 2012-04-19 23:59:10
PHP的setcookie()函数接受与Unix时间戳值对应的整数。如果您的cookie应该有1小时的生存时间,那么您可以使用time() + 3600作为该值。然后,PHP将创建一个带有过期时间的cookie,如"expires=Fri,Aug 3Aug 2001 20:47:11UTC“。它采用UTC (GMT)格式,因此您不必担心客户端浏览器的时区
https://stackoverflow.com/questions/10228608
复制相似问题