0
我使用jquery.ajaxForm發佈/獲取到auth.mydomain.com/login.php(頁面m.mydomain.com/login.php(HTTP/80)頁HTTPS/443)跨子域名後/ GET請求與PHP會話
header('Access-Control-Allow-Origin: m.mydomain.com');
ini_set('session.cookie_domain', '.mydomain.com');
session_start();
/**Login and db stuff there*/
if($allowed)
{
$_SESSION['check_login'] = true;
print 1;
}
else
{
print 0;
}
所以在login.php中我得到的Ajax調用 「1」 的結果,但訪問$ _SESSION我得到一個空數組。
代碼:在
ini_set('session.cookie_domain', '.mydomain.com');
session_start();
print_r($_SESSION);
調用auth.mydomain.com/login.php(HTTPS/443)regulary在瀏覽器(與GET請求)結果被記錄在上m.mydomain.com/login。 PHP(HTTP/80)
在同一臺服務器上的域名和子域上運行?還要確保每個PHP會話cookie名稱都相同。 –
是域和子域在同一臺服務器上運行。我只是手動設置會話cookie名稱,我可以看到有一個cookie可供閱讀,但$ _SESSION爲空 – Tom
請求是否通過ajax?如果是這樣,你需要確保'xhr'對象中'withcredentials'設置爲'true'。 –