我有两个具有相同名称的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");
答案 0 :(得分:0)
如果您在其他子域可访问的根域中创建了一个cookie,并且您没有将此cookie用于此子域,我建议您重命名该子域的cookie。