为什么cookie会立即到期?

时间:2012-01-30 04:58:55

标签: php cookies

在我的代码中(在我的本地计算机上使用domain localdev.xxx.com进行测试)我使用以下代码在浏览器中设置一个cookie,该cookie将在6个月后到期:

$cookieExpiresOn = time() + (60 * 60 * 24 * 184);
setcookie("ref", "somevalue", $cookieExpiresOn);

然而,当我使用firebug检查http响应时,set-cookie标头的日期设置为1970年1月1日。

Set-Cookie: ref=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT;

是不是time()函数应该返回自Unix大纪元时间以来的当前日期和时间?为什么会这样?

1 个答案:

答案 0 :(得分:5)

发现问题所在。在我的实际代码中,值通过如下变量设置:

setcookie("ref", $varx, $cookieExpiresOn);

显然,如果cookie值为空字符串,则php会尝试通过将其过期日期设置为当前GMT时间之前删除cookie。

相关问题