我正在为我的项目在 php 中实现 web-socket 服务器。当用户创建 websocket 连接时,它会将请求标头中的 PHPSESSID cookie 发送到 web 服务器页面。我想使用他们的 PHPSESSID cookie 值为每个用户获取会话数据。此服务器页面无法通过简单地使用来获取会话值$_SESSION['name']
对于每个传入的套接字连接,我获取 PHPSESSID
$cookie = handshake($header, $socket_new, $host, $port);
这里握手函数将返回 PHPSESSID cookie。
session_id($cookie);
session_start();
$username = $_SESSION['name'];
对于每个 websocket 连接,我都会收到正确的 cookie,但$username
仅适用于第一个连接。这个 php 文件在后台运行,我必须使用他们的 cookie 对用户进行身份验证,但似乎session_id($cookie);
只设置了一次。有没有办法在这个单一页面上获取不同 PHPSESSID 值的会话数据。