Mam serwer websocket PHP (https://github.com/lemmingzshadow/php-websocket/).
Gdy użytkownik łączy się, chcę ustawić/uzyskać dane sesji.
Problem polega na tym, że nie mogę używać $_SESSION
, ponieważ jeśli to zrobię, zamiast sesji klienta otrzymam sesję mojego serwera websocket.
udało mi się dostać SESSID klientów:
private function handshake($data) {
$this->log('Performing handshake');
if(preg_match("/PHPSESSID=(.*?)(?:;|\r\n)/", $data, $matches)){
$sessid = $matches[1];
}
/* Do handshake */
}
Ale teraz nie wiem, jak uzyskać dane sesji związanych z tym SESSID.
Wygląda na to, że potrzebna jest jakaś sesyjna baza danych, która umożliwia udostępnianie sesji między tymi dwoma instancjami. –
@SvenvenV Ale, czy muszę używać własnej bazy danych, czy mogę uzyskać dostęp do bazy danych, w której php zapisuje dane sesji? – Oriol
, aby klient wysłał swój identyfikator sesji przez gniazdo, możesz go użyć do ustawienia identyfikatora w php przed wykonaniem session_start –