セッションをデータベースに保存する場合は、userIdをデータベースのセッションレコードの一部として保存するメカニズムを追加して、私が「セマンティックセッション」と呼んでいるものを作成します。ユーザーがログインしたら、別のセッションがすでに存在するかどうかを確認します。その場合は、 session_id()
を使用します。
新しいセッションを古いセッションのIDに固定します。これにより、セッションに参加します(以降のすべてのリクエストでは、新しいセッションのIDを変更する必要があります)。ログインステップ中にのみこのアクションを実行するようにしてください。そうしないと、2つのセッションが互いになり合い、「スワッピング」しようとする異常な競合状態に陥る可能性があります。