Ich implementiere einen Web-Socket-Server in PHP für mein Projekt. Wenn ein Benutzer eine Websocket-Verbindung herstellt, wird er den PHPSESSID-Cookie in den Anforderungsheadern an die Webserverseite senden. Ich möchte Sitzungsdaten für jeden Benutzer anhand ihres PHPSESSID-Cookie-Werts abrufen. Diese Serverseite kann den Sitzungswert nicht einfach mit $_SESSION['name']
abrufen
Für jede eingehende Socket-Verbindung hole ich PHPSESSID
$cookie = handshake($header, $socket_new, $host, $port);
Hier wird die Handshake-Funktion den PHPSESSID-Cookie zurückgeben.
session_id($cookie);
session_start();
$username = $_SESSION['name'];
Für jede WebSocket-Verbindung erhalte ich das richtige Cookie, aber $username
nur für die erste Verbindung. Diese PHP-Datei läuft im Hintergrund und ich muss Benutzer anhand ihres Cookies authentifizieren, aber es scheint, dass session_id($cookie);
nur einmal gesetzt wird. Gibt es einen Weg, um Sitzungsdaten für verschiedene PHPSESSID-Werte auf dieser einzelnen Seite abzurufen.