当前子域具有相同名称的cookie时,如何访问根域上的cookie集?

时间:2014-02-27 23:39:44

标签: php http cookies

我有两个具有相同名称的cookie - 一个在我的根域,一个在子域。默认情况下,如果您位于匹配的子域中,PHP将读取子域cookie并忽略根cookie。如果存在匹配的子域cookie,我将如何阅读根域cookie?

例如,假设我有这两个cookie:

Name | Value | Domain
uid  | 12345 | .example.com
uid  | abcde | app.example.com

如果我在app.example.com上,PHP只会在$_COOKIE全局数组中显示:

array("uid" => "abcde");

但是,我希望能够访问它:

array("uid" => "12345");

这可能吗?

我尝试过像这样使用session_set_cookie_params:

session_set_cookie_params(0, "/", ".example.com");
session_start();
echo "<pre>"; print_r($_COOKIE["uid"]); echo "</pre>";

但它仍然会回归:

array("uid" => "abcde");

编辑:

使用以下代码设置Cookie:

setcookie("uid", "12345", 0, "/", "example.com");
setcookie("uid", "abcde", 0, "/", "app.example.com");

1 个答案:

答案 0 :(得分:0)

如果您在其他子域可访问的根域中创建了一个cookie,并且您没有将此cookie用于此子域,我建议您重命名该子域的cookie。