我有一个从浏览器连接的websocket连接到在CLI上作为websocket服务器运行的php脚本。
我让客户端发送它在服务器上的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']时,它不会反映在客户端会话上,并且不会操纵会话。我该怎么做才能将被操纵的会话发送回客户端?
谢谢!
答案 0 :(得分:0)
您可以将sessionId写入DB中的users表 而且在CLI和Web中你必须使用它:
session_id($sessionFromDb);
答案 1 :(得分:0)
我的代码出错了。
会话正在保存,我只是忽略了它在更改之前输出它所以它看起来好像从未改变过。