我想访问子域名上的cookie,
在主域上工作的cookie很好但无法访问子域上的cookie,我创建了两个文件testing_1.php和testing_2.php,这些cookie是通过testing_1.php设置的
$domain = '.localhost';
session_set_cookie_params(0, '/', $domain);
session_start();
$_SESSION['name'] = 'Jogesh';
setcookie("f_name", "jogesh", 0, "/", "$domain");
if( isset( $_COOKIE["f_name"] ) )
echo "Set Cookie on 1: " . $_COOKIE["f_name"];
else
var_dump(setcookie("f_name", "jogesh", 0, "/", "$domain"));
在上面的代码中我也尝试访问会话,但只是获得了会话ID,我想在子域上访问$_SESSION['name']
如果可能的其他明智的cookie
现在tests_2.php在这里
session_start();
if( isset( $_SESSION['name'] ) )
echo "Session Name: " . $_SESSION['name'];
else
echo "Session not set!";
if( isset( $_COOKIE["f_name"] ) )
echo "Cookie Name: " . $_COOKIE["f_name"];
else
echo "Cookie not set!";
这两个文件在localhost
上运行良好,但是当我尝试从demo.localhost
访问文件testing_2.php时,无法访问任何内容,请告诉我我做了什么错误,< / p>
答案 0 :(得分:0)
如果您是在www.example.com
创建它们,则无法从cdn.example.com
读取它们。您必须在example.com
创建它们。此外,您无法使用JavaScript和签证阅读PHP创建的cookie。它还取决于浏览器。 tsk.tr
存在问题。你必须看到浏览器的列表http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1可能是因为浏览器处理localhost
和subdomain.localhost
作为不同的域名。尝试真实环境中的代码或使用hosts文件。