Partage de sessions entre sous-domaines en PHP
Lors de la gestion de sessions utilisateur sur plusieurs sous-domaines, il est crucial de garantir une connexion transparente et la persistance des données. Dans ce scénario, vous devez autoriser les sous-domaines à accéder aux sessions autorisées créées sur le domaine principal.
Vous avez essayé de définir le session.cookie_domain dans votre php.ini sur .example.com pour activer les cookies inter-sous-domaines. partage. Cependant, votre code ne semble pas lire les données de session partagées.
Pour résoudre ce problème, essayez ce qui suit :
// 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);
En ajoutant session_name('YOUR_SESSION_NAME'); avant de définir les paramètres des cookies, vous vous assurez que les sous-domaines utilisent le même nom de session. Cela leur permet d'accéder et de modifier les données de session partagées. Remplacez YOUR_SESSION_NAME par un identifiant unique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!