2011-12-16 33 views
3

我有一個問題。假設我在網站domain1.com,我點擊一個鏈接domain1.com,它將我帶到domain2.com。但我想要使用與session_start()設置的session_id()相同的domain1.comdomain2.com。我如何在PHP中完成此操作?在另一個網站上使用相同的php會話鏈接點擊

謝謝。

+0

你擁有這兩個域名?他們是否託管在同一臺服務器上? – 2011-12-16 22:10:43

回答

0

由於session_id()本身doen't包含任何數據,有幾件事情要考慮:

  • 如果會話在Cookie設置,你可以不轉讓(除非到一個子域),請確保通過GET方式傳輸它
  • 爲了讓服務器上的SESSION同步相關的數據必須共享文件系統(例如通過GlusterFS),至少在保存SESSIONS的路徑中例如/ tmp/php)
  • 如果您將對象保存在SESSION中,請確保它們在兩臺服務器上均可用

如果兩個域名都指向同一個文檔根目錄,你只需要照顧關於第一點

如果只想使用session_id()和不相關的數據在同一臺服務器上,你可以剛纔設置的ID:session_id('yourSessionIdFromDomain1')

0

也許你可以使用MySQL數據庫,你可以從兩個站點的訪問...

像:

Table _sessions -> Fields('access_token','session_vars') 

在session_vars中,每次網站加載時您都可以保存$_SESSION。 access_token應該是用戶首次訪問網站時生成的唯一字符串。

這是非常危險的! 11 :-)

相關問題