/** * セッションファイルのガーベッジコレクション * * session.save_pathのパスの深さが2より大きい場合、ガーベッジコレクションは行われないため * 自分でガーベッジコレクションしないといけない。 * * @access public * @return void * * @link http://jp.php.net/manual/ja/ref.session.php#ini.session.save-path */ function session_gc() { global $_conf; if (session_module_name() != 'files') { return; } $d = (int) ini_get('session.gc_divisor'); $p = (int) ini_get('session.gc_probability'); mt_srand(); if (mt_rand(1, $d) <= $p) { $m = (int) ini_get('session.gc_maxlifetime'); FileCtl::garbageCollection($_conf['session_dir'], $m); } }