PHP 中的跨子網域會話共用
跨多個子網域管理使用者會話時,請確保無縫登入與資料持久性至關重要。在這種情況下,您需要允許子網域存取在主網域上建立的授權工作階段。
您已嘗試將 php.ini 中的 session.cookie_domain 設定為 .example.com 以啟用跨子網域 cookie分享。但是,您的程式碼似乎沒有讀取共享會話資料。
要解決此問題,請嘗試以下操作:
// sub1.example.com session_name('YOUR_SESSION_NAME'); // Add a unique name, e.g., 'my_session' session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Registered'] = 1; echo '<a href="http://auth.example.com/test.php">Change Sites</a>'; // auth.example.com session_name('YOUR_SESSION_NAME'); // Match the name from sub1.example.com session_set_cookie_params(0, '/', '.example.com'); session_start(); print session_id() . "<br>"; $_SESSION['Checked'] = 1; print_r($_SESSION);
透過新增 session_name('YOUR_SESSION_NAME');在設定 cookie 參數之前,請確保子網域使用相同的會話名稱。這允許他們存取和修改共享會話資料。將 YOUR_SESSION_NAME 替換為唯一識別碼。
以上是如何跨子網域分享 PHP 會話?的詳細內容。更多資訊請關注PHP中文網其他相關文章!