特定のセッションがタイムアウトしたことを PHP がどのように検出するのか疑問に思っています。
詳細: デフォルトの (ファイル ベースの) セッション ハンドラーを使用しており、デフォルトのセッション ライフタイムなどがあります。php.ini のすべてがデフォルトです。
セッションが開始された場合、PHP は (session.gc_divisor と session.gc_probability 以外に応じて) タイムアウトしたセッションがあるかどうかをチェックします。しかし、PHP はセッションからの最終セッション アクセス時刻をどこから取得してチェックするのでしょうか?
セッション ファイル自体には、たとえば のワークロードのみが含まれているx|i:1;
ため$_SESSION['x'] = 1;
、最後のセッション アクセス時間に関する情報はありません。
サーバーの完全な再起動後もセッションは引き続き機能しているため、セッションの開始時間に関連するメモリ内情報はないと思います。
では、PHP はどこから情報を取得するのでしょうか。セッションファイルの mtime/ctime を比較していますか?