簡體   English   中英

在多個Web應用程序之間共享PHP會話

[英]Share PHP session between multiple web applications

我在同一個域(CMS和電子商務平台)上有兩個Web應用程序,我想在它們之間共享會話數據。 我可以很容易地設置它們,因此它們都使用相同的會話,但$ _SESSION變量中存在太多可能的名稱沖突。 我以為我可以使用命名會話,但我無法讓它工作:

session_name("WEB_APP_ONE");
session_start();
$webAppOneData = $_SESSION;
session_write_close();

//var_dump($_SESSION) = all of the session data for web app one is still contained in $_SESSION even though I closed the session with session_write_close()

session_name("WEB_APP_TWO");
session_start();
$_SESSION['WEB_APP_ONE'] = $webAppOneData;

//var_dump($_SESSION) = all of the session data for web app one is still here

我不確定這是否可行,但我想知道它是否可行!

注意:我正在使用的實際用例是能夠顯示CMS中訪問者購物車中有多少產品。 購物車數據存儲在電子商務平台的會話中,但我需要從CMS的標題中顯示。 我希望在CMS和購物車之間實現無縫集成。

我建議只使用嵌套數組對會話進行名稱間隔:

$_SESSION['app1']['app1var'] = 'value';
$_SESSION['app2']['app2var'] = 'value';

您也可以考慮從數據庫中存儲和檢索會話信息,僅使用會話來存儲用戶身份驗證信息,該信息告訴您要訪問哪些數據庫行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM