PHP session_gc 会话函数
-
定义和用法
session_gc - 执行会话数据垃圾收集。 -
版本支持
PHP4 PHP5 PHP7 不支持 不支持 v7.1.0+支持 -
语法
session_gc ( void )
session_gc() 用于执行会话数据GC(垃圾收集)。 PHP默认情况下会执行基于概率的会话GC。基于概率的GC可以工作,但是问题很少。- 1) - 在优先时间内,低流量站点的会话数据可能不会被删除。
- 2) - 高流量站点的GC可能过于频繁。
- 3) - GC是根据用户的请求执行的,用户将遇到GC延迟。
因此,建议对于使用UNIX类系统的生产系统,例如使用“ cron”,定期执行GC。 通过将session.gc_probability设置为0,确保禁用基于概率的GC。 -
参数
参数 必需的 描述 无 -
返回值
session_gc() 返回成功删除的会话数据的数量,失败则返回FALSE。 旧的保存处理程序不返回已删除会话数据的数量,而仅返回成功/失败标志。 在这种情况下,无论实际删除的数据如何,删除的会话数据的数量都变为1。 -
示例
// Note: session_gc() is recommended to be used by task manager script, but // it may be used as follows. // Used for last GC time check $gc_time = '/tmp/php_session_last_gc'; $gc_period = 1800; session_start(); // Execute GC only when GC period elapsed. // i.e. Calling session_gc() every request is waste of resources. if (file_exists($gc_time)) { if (filemtime($gc_time) < time() - $gc_period) { session_gc(); touch($gc_time); } } else { touch($gc_time); }
-