Share session ID from CLI to browser

做~自己de王妃 提交于 2019-12-12 02:15:01

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!