2010-12-20 20 views
0

ファイルI/Oディレクティブを含まないネイティブPHPの方法でセッションを破棄/変更できるかどうかは疑問です。PHPでセッションファイルを空にする方法はありますか?

私は$ _SESSIONについて話していません、私はセッションファイルへのアクセスを意味します。例えば

は、ファイルとしてLinux上のPHP店セッション:

@lamp:/var/lib/php5$ ls 
sess_301dc8935f1775312e9007431782c68b 
sess_6892f0bec257e646d193adfd91233c40 
sess_966909941003dd6fd333727d8862be6e 
sess_cb7c07117cef89674a686ffff8a730f2 
sess_ffb4db1d9002741b7e0fcc02090b9aaa 
sess_305aeb0fdba7548e389394cb31d77c3b 
.... etc 

$ _SESSIONは私たちに、現在のセッション内で何の値を与える、とsession_start()session_destroy()は、現在のセッションIDを終了します。

セッションをグローバルに破棄したり変更したりすることができるかどうかは、fopen(/var/lib/php5/sess_whatever)をやらなければならないPHPにネイティブな方法で伝えたいのですが、現在のセッションで作業したくない、スクリプトが欲しい$_SESSIONsession_start、およびsession_stopの外のセッションを削除または変更できるようにするために、現在のセッションを使用する必要があります。

+0

$ _SESSION&PHPの処理方法はApacheの仕事はcookie/session_id情報をPHPに渡すことだけです。 PHPは単にファイル(MySQL、Memcacheなど)だけでなく、さまざまな方法でセッションを実装できます。これは、アクティブセッション以外のセッションを強制終了しようとしている場合に役立ちます。ファイルシステムと比べてデータベースとのインターフェイスをより明確にするためです。あなたはおそらくパフォーマンスの向上を得るでしょう。 – Klinky

答えて

1

あなたには両方の方法があるように聞こえます。セッション処理関数は、現在のセッションと対話するように構築されています。他のセッションを操作するためには、fopen()の全ルートを実行する必要があります。

3

session_destroyはというん:

session_destroy()は、現在のセッションに関連付けられたすべてのデータを破壊します。セッションに関連するグローバル変数の設定を解除したり、セッションCookieの設定を解除したりすることはありません。

+0

それは現在のセッションを破壊しますが、もう一度$ _SESSIONのデータではなく、グローバルに削除または変更できるようにしたいのです。これは、 'fopen( '../ data/sessions .../session3958912')のようなことをすることなく、現在のセッションに限定するのではなく、ネイティブのPHPコマンドがあれば、変更したいセッションのファイルです。 ' – Incognito

+0

@ user257493:しかし、これは保存されたセッションデータだけを破壊し、' $ _SESSION'のセッションデータを破壊しません。あなたは他に何をしたいですか? – Gumbo

+0

詳細を追加しました。 – Incognito

関連する問題