PHP _COOKIE没有设置,尽管它被设置在cookie头中

时间:2014-11-19 14:37:06

标签: php cookies http-headers

我无法理解这一点,我在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($ _ COOKIES),我得到的就是

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)和路径(/)是正确的。

有没有人对我在下一步调试此问题有什么建议?

1 个答案:

答案 0 :(得分:0)

我想出来了。我存储到cookie的值(使用openssl_encrypt生成的FYI)与cookie不兼容。

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

相关问题