これは、データベースへの常時アクセスを必要としないソリューションです...
(これにより、ページをリクエスト/更新するたびにデータベースの値に対して session_id() をチェックする必要がなくなり、データベース/サーバーのストレスが軽減されます)...
1.ログイン時に、このユーザーの DB に保存されている既存の session_id を取得し、次のようにします。
session_id("the pre-existing session id in the database goes here");
session_start();
session_destroy();
2.次に、新しいセッションを開始し、この新しい session_id をデータベースに保存して、以前のものを上書きします。これにより、アクティブなユーザーが 1 人いる場合、このユーザーの前のセッションがログアウトされます (このアカウントを使用している他のユーザーを効果的にログアウトします)。
試してみて、それがうまくいくかどうか教えてください!!
注:まだ試していないので、これは「理論上」です。これは、この受け入れられた stackoverflow answerに基づいています。そして、おそらく、各ユーザーに固有のものに基づいて session_id を手動で作成する必要があります。そうすれば、他の誰かが使用しているセッションが、たまたまチェックしているユーザーが最後に使用したセッションと同じであることを消去しません。為に。