簡単に言うと、セッションCookieは、特定のサイトをナビゲートするときにリモートセッションをブラウザに関連付けます。PHPSESSID=3432DFGDFG43523
これには、通常、リモートサーバーが管理しているセッションとして識別する行に沿った文字列が含まれています。
PHP Webサイトから:
Webサイトにアクセスする訪問者には、一意のID、いわゆるセッションIDが割り当てられます。これは、ユーザー側のCookieに保存されるか、URLで伝播されます。
セッションサポートにより、リクエスト間のデータを$_SESSIONスーパーグローバル配列に格納できます。訪問者がサイトにアクセスすると、PHPは自動的に(session.auto_startが1に設定されている場合)、または要求に応じて(明示的にsession_start()または暗黙的にsession_register()を介して)特定のセッションIDが要求とともに送信されたかどうかを確認します。この場合、以前に保存された環境が再作成されます。
http://www.php.net/manual/en/intro.session.php
が呼び出されたときsession_destroy()
、期待どおりに動作しません。セッションはリモートで破棄されますが、ローカルCookieは削除されません。これを行うsetcookie(<session cookie name>)
には、クライアント側でそれを破棄するために負の日付で呼び出す必要があります。繰り返しますが、PHPのWebサイトから:
session_destroy()は、現在のセッションに関連付けられているすべてのデータを破棄します。セッションに関連付けられているグローバル変数の設定を解除したり、セッションCookieの設定を解除したりすることはありません。セッション変数を再度使用するには、session_start()を呼び出す必要があります。
ユーザーをログアウトするなど、セッションを完全に強制終了するには、セッションIDも設定解除する必要があります。Cookieを使用してセッションIDを伝播する場合(デフォルトの動作)、セッションCookieを削除する必要があります。そのためにsetcookie()を使用できます。
http://www.php.net/manual/en/function.session-destroy.php