プロジェクトにPHPを使用しています。ユーザーがブラウザーを閉じるとセッションが終了し、ログアウトされるように、セッションの有効期間を 0 に設定しました。ただし、ユーザーがログインしているかどうかを示す情報を格納するステータス変数が DB にあります。これを使用して、特定のユーザーのステータスを他のユーザーに通知します。
セッションが終了したときに、DB の値を変更する関数を呼び出すにはどうすればよいですか? session_set_save_handler() のオーバーライドについて調べました。しかし、そのためには、関数全体をオーバーライドして、独自のセッションを定義する必要があります。DB 変数を変更するために呼び出される関数はありますか?
私が達成しようとしていることを実装するためのより良い方法はありますか?
ありがとう
編集:私と同じ状況にある人のために、私はnikicが提案したことをしました. すべてのユーザーがアクセスした各ページを追跡するログがあります。ユーザーがオンラインかどうかを確認するために、DB をチェックして、ログイン変数が設定されているかどうかを確認し、最近のアクティビティがあったかどうかを再確認して、ユーザーが実際にオンラインかどうかを確認します。