session_destroy() はすぐには有効になりません HTML で を使用して PHP ページにリンクすると、PHP ページがセッションを破棄しますが、ページを開いたときはセッションがまだ存在します。 PHP ページを再度更新しています。このページには 2 つのステートメントのみがあります: $_SESSION = array();session_destroy(); session_start() が開かれました。 すみません、何が起こっているのですか-----解決策---------セッションは、ページ B で session_destroy(); を実行する前に自然に存在します。それ以外の場合は、session_destroy(); を実行する必要はありません。ページ B に再度アクセスしたときにのみ、セッションが失われていることがわかります (リフレッシュなど) ) ユーザーにとって、session_destroy() は cookie 内のセッション ID をログアウトする命令を送信するだけであるためです------解決策------------- ----- --a.phpsession_start();$_SESSION['name'] = "kobe";?>se2ログイン後にコピーb.phpsession_start();$_SESSION = array();session_destroy();var_dump($_SESSION['name']);?>ログイン後にコピー------解決策-------------------- 引用: 引用: 引用: その後、ページは実際には決して終了せず、もちろん現在のセッションは消えません。 connection_aborted() 文はクライアントが切断されているかどうかを確認できますが、その実行にはページにコンテンツを出力する必要があるため、ob_flush();flush();問題は、これら 2 つが文はセッションを破棄させるページは正常に実行できません。つまり、セッションを破棄するには手動で更新する必要がありますそれで、次のときにこのループを閉じる他の方法はありますか?クライアントが切断します。それともセッションを破棄するページを正常に実行する他の方法はありますか? この問題は ob_flush();flush(); によって引き起こされますか?何をするか? ユーザーが長期間ログインしない場合にオフラインにされるのを防ぐためにこれを行っています。他に方法はありますか? ページは終了しておらず、現在のページのセッションはファイルに更新されていません。これが、session_destroy() がすぐには有効にならない理由です。 この問題を解決するには、session_destroy(); の後に session_write_close(); を追加します。