スレッド表示 | フラット表示〕 全トピック 920 件中 275 番目 次≫ ≪前

CLI版PHPのセッションIDについて

created: 2006-02-15 19:10 | modified: 2006-02-17 20:25 | reply: 1

[2927] CLI版PHPのセッションIDについて

user: 琢磨 | created: 2006-02-15 19:10
現在、LinuxでCLI版PHPを使用してPHPのスクリプトを作成しています。

そのスクリプトの中で、セッション変数を使っているのですが、通常のWEBアクセスの場合COOKIEと紐付いていますが、CLI版のセッションIDは何と紐付いているのでしょうか?
つまり、何によっては、一意の判別を行っているのでしょうか?

また、特に指定しない限り、/tmpにセッション管理用のファイルが作成されますが、session_unset及びsession_destroyを行っているにも関わらず、セッション管理ファイルがゼロバイトファイルとして、そのまま残ってしまいます。

これらを、ゴミとして残らないように削除する方法が見つかりません。
どなたか、ご存知の方はいらっしゃらないでしょうか?
reply: 2947 返信 編集 削除

[2947] CLI版PHPのセッション

user: ゆうじ | created: 2006-02-17 20:25
こんばんわ。

> 何によっては、一意の判別を行っているのでしょうか?

CLI版PHPを使っていないのでわかりません。
以下モジュール版PHPの話ですが参考になれば。

session_unset、
http://jp.php.net/manual/ja/function.session-unset.php
session_destroy
http://jp.php.net/manual/ja/function.session-destroy.php

マニュアルによれば、どちらも
セッションそのものを破棄する仕様ではありませんね。
セッションそのものを破棄するには
該当のクッキーを破棄すれば良いとあります。


/tmp に残る セッションファイルはまた別の話で、
GC(ガーベージコレクション)が破棄を担当していて、
意図して削除しなくても GC が不要となったものから
削除してくれる仕組みになってます。

必要ならば、php.ini の以下の項目を調整して、
GCによって破棄されるまで時間をいくらか調整できますが、
セッションファイルの完全な制御は無理です。
http://jp.php.net/manual/ja/ref.session.php
session.gc_probability
session.gc_divisor
session.gc_maxlifetime

参考
http://www.sound-uz.jp/php/archives/memo/session_login.txt

もっとセッションの管理を制御したいなら、
セッション変数をデータベースに割り当てて
セッションハンドラを自前で書くという手もあります。
session_set_save_handler
http://jp.php.net/manual/ja/function.session-set-save-handler.php
Parent: 2927  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 275 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑