在测试一些脚本时,我注意到,如果过期时间很少(不为零)--Cookie在Opera,IE中不可用。setcookie很短的时间在非Firefox中不起作用
例子:
<?php
// setting cookie for 5 minutes
setcookie('cookie1' , 'Test', time()+60*5);
echo $_COOKIE['cookie1'];
// yeap (it should display it only with refresh of page - I know:)
?>
在Firefox中 - 我看到这个词测试(开放和刷新页面后)。
但在其他浏览器 - 我没有看到这个。 例如,如果我将时间更改为time()+60*100
- 它适用于所有浏览器。
这是什么原因?
UPD:
从丁目的开发工具(对不起,不知道怎么萤火Chrome的称呼):
Date:Sun, 22 May 2011 10:29:59 GMT
Keep-Alive:timeout=15, max=99
Server:Apache/2.2.14 (Ubuntu)
Set-Cookie:Maslo123=Test; expires=Sun, 22-May-2011 10:34:59 GMT
日期是早于 '过期';
你检查了实际的* Set-Cookie *头字段值吗?您的服务器可能有错误的系统时间。 – Gumbo 2011-05-22 11:00:04
是的,服务器上的时间是错误的。 (几个小时延迟)但是这反映在不同的浏览器上如何? – 2011-05-22 11:07:59
@Innuendo:恩,可能是个bug。但它需要更多的信息来说明这一点。 – Gumbo 2011-05-22 11:11:01