Middleware to start php sessions using the request data

v3.1.1 2022-03-13 01:22 UTC

This package is auto-updated.

Last update: 2024-06-13 06:09:43 UTC


Latest Version on Packagist Software License Testing Total Downloads

Middleware to start a php session using the request data and close it after returning the response. Reads and writes session cookies in the PSR-7 request/response.



This package is installable and autoloadable via Composer as middlewares/php-session.

composer require middlewares/php-session


	new Middlewares\PhpSession(),

    function () {
        //Use the global $_SESSION variable to get/set data
        $_SESSION['name'] = 'John';


This is a middleware to start the native PHP session using the cookies of the server request.


The session name. If it's not provided, use the php's default name (PHPSESSID). More info session_name

// Start the session with other name
$session = (new Middlewares\PhpSession())->name('user_session');


This option set a session id. If it's not provided, use the request's cookies to get it.

// Start the session with a specific session id
$session = (new Middlewares\PhpSession())->id('foo');


This allows to set an of options passed to session_start()

// Start the session with a specific session id
$session = (new Middlewares\PhpSession())->options([
    'cookie_lifetime' => 86400


This option regenerates the id after a specific time interval. The latest regeneration time is saved in the key session-id-expires but you can change it in the second argument:

// Regenerate the session id after 60 seconds
$session = (new Middlewares\PhpSession())->regenerateId(60);

// Regenerate the session id after 60 seconds, storing the expires date in the key 'expiresAt'
$session = (new Middlewares\PhpSession())->regenerateId(60, 'expiresAt');

Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.

The MIT License (MIT). Please see LICENSE for more information.