【问题标题】:PHP _COOKIE not set despite it being set in the cookie header尽管在 cookie 标头中设置了 PHP _COOKIE,但未设置它
【发布时间】:2014-11-19 14:37:05
【问题描述】:

我不太明白,我在我的 PHP 代码中设置了一个 cookie,如下所示。

setcookie('remember', $sCookie, time()+31557600, '/');

我可以在标题中清楚地看到它

Cookie:__utma=144618662.427039340.1410986461.1413382878.1413400525.42; __utmz=144618662.1412022114.19.3.utmcsr=unknown|utmccn=embed|utmcmd=embed; _ga=GA1.2.427039340.1410986461; remember=J%15%1C%009F%F0%0F%E6%24%C9%26%04%A8%3Ej8gp%2FLXjVo3AlCzFvO6em5A%3D%3D; PHPSESSID=pjaso28lsfkt16e9takc3s6q42

但如果我 var_dump($_COOKIE) 我得到的只是

array(4) {
    '__utma' => string(55) "144618662.427039340.1410986461.1413382878.1413400525.42"
    '__utmz' => string(66) "144618662.1412022114.19.3.utmcsr=unknown|utmccn=embed|utmcmd=embed"
    '_ga' => string(26) "GA1.2.427039340.1410986461"
    'PHPSESSID' => string(26) "pjaso28lsfkt16e9takc3s6q42"
}

其他信息

  • 域是开发域,所以端口是非标准的,8888 而不是 80。域也是,commandstation.byl.dev。
  • 我在 byl.dev:8888 上运行完全相同的代码,它可以正常运行。
  • 如果我通过 chrome 插件查看 cookie 信息,则主机 (commandstation.byl.dev) 和路径 (/) 是正确的。

有人对我可以在哪里调试此问题有任何建议吗?

【问题讨论】:

    标签: php cookies http-headers


    【解决方案1】:

    我想通了。我存储到 cookie 中的值(仅供参考是使用 openssl_encrypt 生成的)与 cookie 不兼容。

    我在加密后对值进行了base64编码,现在它可以正常工作了。主域上的加密字符串是可以接受的,这只是侥幸,据我所知,它并不适用于所有人,所以我会在那里进行相同的修复。

    【讨论】:

      猜你喜欢
      • 2017-07-01
      • 2018-08-29
      • 2017-09-29
      • 1970-01-01
      • 2020-10-01
      • 2023-03-14
      • 2019-07-25
      • 2019-09-17
      • 2018-11-27
      相关资源
      最近更新 更多