Maison >développement back-end >tutoriel php >Comment partager des sessions PHP entre sous-domaines ?

Comment partager des sessions PHP entre sous-domaines ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-13 13:49:13474parcourir

How to Share PHP Sessions Across Subdomains?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn