0

ブラウザーから、CLI で websocket サーバーとして実行されている php スクリプトへの websocket 接続があります。

サーバー上にある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'] を操作すると、クライアント セッションに反映されず、セッションは操作されません。操作されたセッションがクライアントに送り返されるようにするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

0

DBのusersテーブルにsessionIdを書き込むことができます。
また、CLIやWebよりも、これを使用する必要があります。

session_id($sessionFromDb);
于 2011-03-18T14:31:30.367 に答える
0

私のコードにエラーがありました。

セッションは保存されていましたが、変更される前に出力するのを怠ったため、変更されていないように見えました。

于 2011-03-18T18:50:02.053 に答える