繁体   English   中英

来自另一个页面的 session 变量在子域上不可见

[英]session variable from another page is not visible on a subdomain

login.php

session_start();
$_SESSION['aid'] = 1;
echo $_SESSION['aid']; // 1

然后索引.php

session_start();
echo $_SESSION['aid']; // nothing is echoed  
$_SESSION['test'] = 323;
echo $_SESSION['test']; // 323

错误日志

PHP Notice: Undefined index: aid in...

这只发生在我的子域 - admin.example.com
在主域上 - example.com - 一切正常
这也只发生在远程服务器上
在我的本地主机上 - xampp, win7, chrome - 没关系

有什么帮助吗?

您应该在启动 session 之前将 cookie 域设置为“.example.com”(在所有子域上的所有脚本上,否则 cookie 在不同的(子)域上甚至无效。

session.cookie_domain = ".example.com"

或使用session_set_cookie_params()

session_set_cookie_params(0, '/', '.example.com');
session_start(); 

另请参阅此问题: 允许 php 会话转移到子域

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM