【发布时间】:2021-09-11 03:29:19
【问题描述】:
我很难创建一个域的 cookie 并在另一个子域中使用它。
我正在尝试使用此代码设置 cookie:
ini_set("session.cookie_domain", "mydomain.com.br");
setcookie("test", "test_value", time()+3600);
并在我的子域(subdomain.mydomain.com.br)上使用此代码获取 cookie:
echo "<pre>";
print_r($_COOKIE);
print_r($_SERVER ['HTTP_COOKIE']);
die("</pre>");
我做错了什么? rs
【问题讨论】:
-
除非子域有自己的同名cookie,否则应该自动继承父域的cookie。你不需要做任何特别的事情。
-
但是不行。在子域上获取 cookie 的最佳方法是什么?
-
根据浏览器的使用年限,您可能需要一个前置句点 ( . )。你可以用
setcookie()setcookie("test","test_value",time()+3600,'/','.mydomain.com.br')完成这一切 -
session.cookie_domain指定 PHP 在处理 sessions 时使用的域值,它适用于存储会话 id 的 cookie - 这不是你在这里所做的,你正在使用setcookie创建您的自己的 cookie,这与PHP 的会话机制无关。