有没有人知道如何跨子域保持会话?
我可以使用两个不同的子域访问特定的cookie,但问题仍然存在......当我尝试将子域的$ _SESSION ['test']发送给另一个子域时,它不会显示在另一个子域中:
subdomain1.domain.com/trial.php
<?php
ini_set("session.cookie_domain", ".domain.com"); // allow access to this cookie from any subdomain
session_start(); // create cookie
$_SESSION['test'] = "TEST1"; // lets try to send "TEST1" in the other subdomain
?>
subdomain2.domain.com/trial.php
<?php
ini_set("session.cookie_domain", ".domain.com");
session_start(); // cookie already set
print_r($_SESSION); // $_SESSION array is empty
?>
感谢, milkael
答案 0 :(得分:3)
更好地在数据库中存储会话,并将其作为cookie传递。 PHP在其setcookie()中有一个参数(域),可以为整个域(包括子域)提供cookie。
所以,只要您的域和子域访问同一个数据库(或者至少可以访问包含会话的数据库):