Use this to iterate through active session files within the defined PHP sessions folder found in php.ini
Hint: your sessions directory is probably located at /var/lib/php/sessions/
WARNING: Don't keep these files in a public
folder of any kind.
Due to permission issues you'll likely run into if you attempt to execute this from the browser, use CLI only.
You'll want to have a look at private static $needle = 'auth|b:1';
in SessionParser.php
and make the necessary change to reflect your $_SESSION
key. The Docblock has more info.
You can pass your session directory to (new \SessionParser\SessionParser)::init()
as an argument or just use the default as stated in private static $sessionFolderPath = '/var/lib/php/sessions/';
You'll likely have to sudo
the following command for it to work. Or just run as root
. Whatever works for your ENV.
$ sudo php -f index.php
Should return number of active sessions ¯\_(ツ)_/¯
This is where a check is being made to determine length of time between current time - session file modified time, and if it's within bounds set by static::$sessionGcMaxlifetime
then static::$counter
is iterated.
if (time() - $file->getCTime() <= static::$sessionGcMaxlifetime) {
static::$counter++;
}
- PHP v7.x (tested on v7.3.11)
While this program will simply echo
the result, there is no reason this cannot be modified to write the result to a file, database, emailed to a recipient, etc.
- PSR must be followed.
- All classes MUST implement an interface. Pull requests with classes that do not implement an interface will be rejected.