On Wed, Aug 10, 2016 at 5:30 AM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote:
> Hi all, > > This RFC is to add session_gc() function. > > session_gc() function is required API for periodic session GC that is > best practice for production web sites. > > https://wiki.php.net/rfc/session-gc > It requires 2/3 majority to pass. > Vote starts: 2016/08/10 - Vote ends: 2016/08/17 23:59:59 UTC > +1. Should we document a polyfill, since the session GC firing logic can be non-intuitive? Here's an attempt, anyhow: function session_gc() { $initial = [ session_status(), ini_get('session.gc_probability'), ini_get('session.gc_divisor'), ]; if (PHP_SESSION_DISABLED === $initial[0]) { return false; } if (PHP_SESSION_ACTIVE === $initial[0]) { session_write_close(); } ini_set('session.gc_probability', 1); ini_set('session.gc_divisor', 1); session_start(); ini_set('session.gc_probability', $initial[1]); ini_set('session.gc_divisor', $initial[2]); if (PHP_SESSION_NONE === $initial[0]) { session_write_close(); } return true; }