【问题标题】:setcookie makes cookie but then it immediately disappears in Chrome on Windows and OS Xsetcookie 制作 cookie 但随后它立即在 Windows 和 OS X 上的 Chrome 中消失
【发布时间】:2014-01-02 21:22:50
【问题描述】:

所以我在 php 中有一行设置 cookie,它已经工作了一段时间,但是,本周 chrome 不想保留 cookie。 cookie 被添加,当我在 chrome 开发工具中点击刷新时,它消失了。

适用于 Windows 和 OS X 的 Chrome 正在做同样的事情。 Chrome 突然开始这样做了。 Windows 和 OS X 上的 Firefox 和 OS X 上的 safari 没有问题。

我使用了一个足够提前的日期,这不是到期问题。

有人有这方面的经验吗?

目前正在运行:

setcookie('key', $value, time()+3600, '/');

正在运行:

setcookie('key', $value, 2000000000, '/');

【问题讨论】:

  • 请在此处添加setcookie功能码。
  • 对不起,我不明白;我发布了我在问题中使用的代码。
  • 可能是时区问题?
  • 好吧,提供的“2000000000”使到期日期在 2033 年左右,所以我不确定时区会成为问题。在 Chrome 中一切正常,几个小时后我开始遇到这个问题。我检查了版本,它似乎没有更新或任何东西。

标签: php google-chrome setcookie


【解决方案1】:

基于文档在 Unix 时间戳中过期 检查此链接

https://en.wikipedia.org/wiki/Year_2038_problem

最好,设置过期 0 或不再计算 2038 年

setcookie("keyCookie", $value, 0);

【讨论】:

  • 这并没有解决问题。首先,cookie 现在显示它使会话过期,这不是预期的效果。 cookie 需要保持原位,其次,当我刷新开发工具时,cookie 会立即消失。
【解决方案2】:

看来我可能已经解决了 cookie 消失的问题。我不确定这是一个真正的修复,但至少它现在没有消失。

代码如下:

setcookie('key', $value, 2000000000, '/', 'www.site.com');

现在,开发工具中两个 cookie 之间的唯一区别是域路径中的前一个句点。我不知道为什么这会给 Chrome 带来问题。

不持久:

key | value | www.site.com | / | Wed, 18 May 2033 03:33:19 GMT | 100

持久性:

key | value | .www.site.com | / | Wed, 18 May 2033 03:33:19 GMT | 100

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-14
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多