犬ターネット

PHPのsessionのGCのタイミングと$_SESSION変数

2011-01-26 php

session_start() で GC 実行されて、該当セッションファイル削除されても、そのスクリプト内では $_SESSION の情報生きてるっぽい。

流れはこんな感じか

session_start();
↓
$_SESSION に sess_xxxx ファイルの情報ぶっこむ
↓
GC起動して sess_xxxx ファイル削除される
↓
(sess_xxxx ファイルがないのに、$_SESSION の中身にはアクセス可能)

実際のソース(php-src/ext/session/session.c)もそんな感じの実装。最後に GC 呼んでる。


複数ブログ同時管理とか

マジネットワーク弱者