所有子域中的会话

时间:2012-05-30 17:02:48

标签: session subdomain

我希望你们中的一些人可能会有一些答案。我已经在这里待了好几个小时,而且我没有取得多大进展。通过大量的研究,我发现这是一个没有很多解决方案的常见问题。

我在domain.com登录,然后转到domain.com/profile?u=username上的用户个人资料,该用户个人资料已被.htaccess重写为username.domain.com。我需要在所有子域中访问SESSION用户名,以便我可以查看用户是否在他们自己的个人资料中。我已经尝试了所有基本的解决方案,让SESSIONS在.htaccess等所有子域中工作(我没有直接访问php.ini),但似乎没有任何工作;除了脚本顶部的session_set_cookie_params(0, '/', '.domain.com');设置SESSION。这突然起作用 - 但问题是 - 它也突然停止工作,间歇性地继续工作,没有我触摸代码就无法工作。

我的问题是......

  1. 有没有人知道为什么这会间歇性地工作然后不起作用?
  2. 有没有人有任何其他简单的跨平台解决方案来解决这个问题。
  3. 如果做不到这一点,我相信我可以将SESSION存储在数据库中并在所有子域中重新创建它。这似乎效率低下,但可能是唯一的解决方案。你有什么想法,最好的办法是什么?
  4. 我真的很感激任何帮助。事实证明这是一个真正的挑战。

1 个答案:

答案 0 :(得分:1)

我能够通过简单地将一个文本文件添加到我的主目录中来解决这个问题,该目录名为php.ini,里面有session.cookie_domain = ".domain.com"。就是这样。您必须重新启动浏览器。