0

我有一个从浏览器到在 CLI 上作为 websocket 服务器运行的 php 脚本的 websocket 连接。

我让客户端发送它在服务器上的 session_id,我知道哪个用户有哪个会话。

读取单个用户的 $_SESSION 非常有效。

我做(在服务器端[我的 CLI 代码]):

$sess_ini = ini_get('session.save_path');
$save = file_get_contents("$sess_ini/sess_$sessionID");
session_id($sessionID);
$sessions = explode("|",$save);
$_SESSION['values'] = (isset($sessions[1])?
                        unserialize(trim(urldecode($sessions[1]))):array());

然后,当我在 CLI 服务器端操作 $_SESSION['values'] 时,它不会反映在客户端会话上,并且不会操作会话。我如何才能将操纵的会话发送回客户端?

谢谢!

4

2 回答 2

0

您可以将 sessionId 写入数据库中的用户表,
而不是在 CLI 和 Web 中,您必须使用它:

session_id($sessionFromDb);
于 2011-03-18T14:31:30.367 回答
0

我的代码中有错误。

会话正在保存,我只是在更改之前忽略了输出它,所以看起来它从未改变过。

于 2011-03-18T18:50:02.053 回答