问题
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!
回答1:
You could write sessionId to users table in DB
And than in CLI and Web your must use this:
session_id($sessionFromDb);
回答2:
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.
来源:https://stackoverflow.com/questions/5353362/share-session-id-from-cli-to-browser