Heim >Backend-Entwicklung >PHP-Tutorial >Wie teile ich PHP-Sitzungen über Subdomains hinweg?
Subdomänenübergreifende Sitzungsfreigabe in PHP
Bei der Verwaltung von Benutzersitzungen über mehrere Subdomänen hinweg ist die Gewährleistung einer nahtlosen Anmeldung und Datenpersistenz von entscheidender Bedeutung. In diesem Szenario müssen Sie Subdomains erlauben, auf die autorisierten Sitzungen zuzugreifen, die auf der primären Domain erstellt wurden.
Sie haben versucht, die session.cookie_domain in Ihrer php.ini auf .example.com zu setzen, um subdomainübergreifende Cookies zu aktivieren Teilen. Ihr Code scheint jedoch die freigegebenen Sitzungsdaten nicht zu lesen.
Um dieses Problem zu beheben, versuchen Sie Folgendes:
// 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);
Durch Hinzufügen von session_name('YOUR_SESSION_NAME'); Bevor Sie die Cookie-Parameter festlegen, stellen Sie sicher, dass die Subdomains denselben Sitzungsnamen verwenden. Dadurch können sie auf die freigegebenen Sitzungsdaten zugreifen und diese ändern. Ersetzen Sie YOUR_SESSION_NAME durch eine eindeutige Kennung.
Das obige ist der detaillierte Inhalt vonWie teile ich PHP-Sitzungen über Subdomains hinweg?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!