0
我有一個帶有兩個域的單個服務器。我使用相同的SESSION ID(假設您在兩臺服務器上手動更改「PHPSESSID」的cookie值,或在session_start之前使用session_id(...))。 這兩個域使用的會話文件是相同的,我在磁盤上驗證它。在同一臺服務器上的域之間共享會話
會發生什麼情況是當我更改域時會話被清除。我的意思是清除兩個域名,而不寫任何會話。
注意到,這個工作幾個星期前在同一臺服務器上,並沒有發生任何改變(至少我們沒有手動修改/升級的任何東西)
我使用調試腳本這些,相同
設置會話:
<?
session_id(PUT_HERE_THE_SAME_SESSION_ID);
session_start();
$_SESSION['KEY'] = 'VALUE';
?>
檢查會話:
<?
session_start();
echo "SESSION ID: ".session_id()."<br>\n";
print_r($_SESSION);
?>
每個服務器上
神奇的行爲:對A A
檢查會話
設置會話,一切都很好
刷新,等待或還有什麼的A,然後檢查,確定第B
檢查會話 - >再次清空
檢查在A - > EMPTY !!!!!
如果換成A和B.
任何好的建議表示讚賞同樣的行爲。
我不想另有辦法做到這一點,我需要了解發生了什麼。
就我所知,會話不能在不同的「域」之間共享。這是一個安全問題。 –
你怎麼知道它?有沒有文件? 我讓它工作了! –
據我所知,會話存儲在文件中,並且有一個巨大的唯一文件夾。數據是序列化的,但沒有用每個網站的不同密鑰加密。 –