仅在一个特定的系统配置上(Win Vista,所有浏览器 - 所有浏览器都允许 cookie)我发现 PHP setcookie 存在问题。我创建了两个简单的脚本来简化问题识别:
script_1.php设置 cookie
setcookie("name", "value", time()+3600);
header("Location: script_2.php");
exit();
script_2.php检查结果
var_dump($_COOKIE);
使用上述语法和提到的配置,不会创建 cookie“名称”。当我删除“过期”参数并离开时
setcookie("name", "value");
cookie“名称”设置正确。
在 Win XP、Win 7、Mac OSX 10.6、Androids、iPad、iPhone + 任何特定系统兼容的浏览器中,一切都非常适合完整的 cookie 定义,例如
setcookie("name", "value", time()+3600, "/", "domain.com", 0, 1);
只是 Vista 在任何浏览器上都有问题。服务器上的时间设置没问题。
感谢您提供任何建议、提示或解决方案。我在这里真的很累很无助。