mirror of
https://github.com/e107inc/e107.git
synced 2025-08-02 20:57:26 +02:00
Fixes #4113 - Enable session file garbage collection
This commit is contained in:
@@ -241,6 +241,7 @@ class e_session
|
|||||||
ini_set('session.hash_bits_per_character', 5);
|
ini_set('session.hash_bits_per_character', 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->fixSessionFileGarbageCollection();
|
||||||
|
|
||||||
$this->setConfig($config)
|
$this->setConfig($config)
|
||||||
->setOptions($options);
|
->setOptions($options);
|
||||||
@@ -248,6 +249,23 @@ class e_session
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Modify PHP ini at runtime to enable session file garbage collection
|
||||||
|
*
|
||||||
|
* Takes no action if the garbage collector is already enabled.
|
||||||
|
*
|
||||||
|
* @see https://github.com/e107inc/e107/issues/4113
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
private function fixSessionFileGarbageCollection()
|
||||||
|
{
|
||||||
|
$gc_probability = ini_get('session.gc_probability');
|
||||||
|
if ($gc_probability > 0) return;
|
||||||
|
|
||||||
|
ini_set('session.gc_probability', 1);
|
||||||
|
ini_set('session.gc_divisor', 100);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve value from current session namespace
|
* Retrieve value from current session namespace
|
||||||
* Equals to $_SESSION[NAMESPACE][$key]
|
* Equals to $_SESSION[NAMESPACE][$key]
|
||||||
|
Reference in New Issue
Block a user