Share session ID from CLI to browser

2019-08-22 14:37发布

I have a websocket connection from the browser to a php script running as a websocket server on CLI.

I have the client send its session_id that was on the server i know which user has which session.

It works perfectly to read the $_SESSION of the individual users.

i do (on the server side [my CLI code]):

$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());

Then when i manipulate $_SESSION['values'] on the CLI server side it does not get reflected on the client session and the session is not manipulated. how do i make it so the manipulated session is sent back to the client?

Thanks!

2条回答
小情绪 Triste *
2楼-- · 2019-08-22 14:56

You could write sessionId to users table in DB
And than in CLI and Web your must use this:

session_id($sessionFromDb);
查看更多
啃猪蹄的小仙女
3楼-- · 2019-08-22 15:14

There was an error in my code.

The session was being saved, i just neglected to output it before it was changed so it looked like it never changed.

查看更多
登录 后发表回答