2

サーバー上でPHPセッションが作成されているかどうかを検索する最良の方法は何ですか?

たとえば、Joe という名前をセッションのどこかに保存し、Joe がブラウザを閉じた後、Joe のセッションがまだサーバー上に存在する (つまり、まだ期限切れになっていない) かどうかを (コンピュータの別の場所にある PHP スクリプトで) 検索できますか?

4

2 に答える 2

4

セッション データは通常、サーバーの一時ディレクトリ (session.save_path設定) に保存されます。

理論的には、そのディレクトリを検索し、すべてのセッション ファイルを調べて開き、Joe のセッションであるかどうかを調べることは可能ですが、これはクリーンなアプローチではなく、さまざまな方法で中断する可能性があります。たとえば、サーバーがそうでない場合などです。開始する一時ディレクトリ内のファイルのリストが表示されます。または、ユーザーが同時に複数のアクティブなセッションを持っている場合はどうなるでしょうか?

これが本当に必要な場合は、独自のディレクトリまたはデータベースにデータを格納するカスタム セッション ハンドラを作成する必要があります。そのカスタム ハンドラーに対して、特定のユーザーがログインしているかどうか、または特定のセッションが存在するかどうかを照会できるインターフェイスを実装できます。

于 2013-05-25T07:08:28.460 に答える