Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Sitzungsfalle
1. Zwei Prozesse können nicht gleichzeitig ein Sitzungsspeicher-Handle öffnen. Beispielsweise können zwei Prozesse nicht gleichzeitig session_start() für eine Sitzungs-ID ausführen Gefahr eines Stillstands.
2. Unabhängig davon, ob Daten in der Sitzung vorhanden sind, öffnet der Aufruf von session_start() ein Speicherhandle, z. B. das Öffnen einer Datei oder das Herstellen einer Verbindung. Rufen Sie session_start()
also nicht an, es sei denn, dies ist erforderlich.
3. Für die Speichertypen Memcached und Redis gibt es keine Unterstützung für Verbindungspools zwischen Anfragen, d. h. jede Anfrage erstellt eine neue Verbindung.
4. Die Generierung der Sitzungs-ID hängt von der globalen Variablen $_SERVER['REMOTE_ADDR']
und den aktuellen Mikrosekunden ab. Wenn der Server, der session_start() oder session_id() aufruft, nicht direkt auf Benutzer zugreift, müssen Sie darauf achten, ob REMOTE_ADDR
ist richtig.
Empfehlungen zu verwandten Themen: PHP-Sitzung (einschließlich Bilder, Videos, Fälle)