Поделиться идентификатором сеанса из CLI в браузер - PullRequest
0 голосов
/ 18 марта 2011

У меня есть соединение websocket из браузера с php-скриптом, работающим в качестве сервера websocket в CLI.

У меня есть клиент, который отправляет свой 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());

Тогда, когда я манипулирую $ _SESSION ['values'] на стороне сервера CLI, это не отражается на сеансе клиента, и сеанс не манипулируется. как мне сделать так, чтобы манипулируемый сеанс отправлялся обратно клиенту?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 18 марта 2011

Произошла ошибка в моем коде.

Сессия была сохранена, я просто не смог вывести ее до того, как она была изменена, поэтому выглядело так, будто она никогда не менялась.

0 голосов
/ 18 марта 2011

Вы можете записать sessionId в таблицу пользователей в БД
И чем в CLI и Web вы должны использовать это:

session_id($sessionFromDb);
...