2
저는 프로젝트에서 PHP 웹 소켓 서버를 구현하고 있습니다. 사용자가 websocket 연결을 생성하면 요청 헤더에 PHPSESSID 쿠키가 웹 서버 페이지로 전송됩니다. PHPSESSID 쿠키 값을 사용하는 모든 사용자에 대한 세션 데이터를 가져 오려고합니다. 이 서버 페이지가 단순히 들어오는 모든 소켓 연결의 $_SESSION['name']
PHPSESSID 값을 사용하여 세션 데이터에 액세스하십시오.
를 사용하여 세션 값을 가져올 수 없습니다, 나는 PHPSESSID
$cookie = handshake($header, $socket_new, $host, $port);
여기 핸드 쉐이크 기능은 PHPSESSID 쿠키를 반환합니다 가져 오기. 모든 웹 소켓 연결의
session_id($cookie);
session_start();
$username = $_SESSION['name'];
는 난 단지 첫 번째 연결에 적합한 쿠키하지만
$username
를 수신하고 있습니다. 이 PHP 파일은 백그라운드에서 실행 중이므로 쿠키로 사용자를 인증해야하지만
session_id($cookie);
은 한 번만 설정됩니다. 이 단일 페이지에서 다른 PHPSESSID 값에 대한 세션 데이터를 가져올 수있는 방법이 있습니까?
새 ID로 이동하기 전에'session_write_close() '를 호출 해 보았습니까? – grossvogel
덕분에 @grossvogel이 효과가있었습니다. 고마워. –