PHP Classes

How to Use a PHP Session Handler That Supports MySQL, Redis, Memcached, and Files Using the Package Session Handlers Collection: Store PHP sessions in different types of storage

Recommend this page to a friend!
     
  Info   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2024-10-15 (7 hours ago) RSS 2.0 feedNot enough user ratingsTotal: 25 This week: 25All time: 11,214 This week: 1Up
Version License PHP version Categories
session-handlers 1.0MIT/X Consortium ...7Databases, Files and Folders, User Ma..., L..., P...
Description 

Author

This package can store PHP sessions in different types of storage.

It provides several session handler classes that store and retrieve PHP session data in different storage system types with an option to make session variables read-only, to avoid the variable can be changed.

The package provides a function to let developers set the preferred session handler.

Currently, it can store session data in:

- Files

- Redis server

- Memcached server

- MySQL database table

Picture of Ramesh Narayan Jangid
  Performance   Level  
Name: Ramesh Narayan Jangid <contact>
Classes: 10 packages by
Country: India India
Innovation award
Innovation award
Nominee: 4x

Winner: 3x

Details

Session Handlers

Collection of Mostly used Session Handlers

  • Supports File / MySql / Redis / Memcached based Session Handlers
  • Supports Readonly mode as well for all the above mentioned Session Handlers

Example

<?php
include __DIR__ . '/SessionHandlers/Session.php';

// Initialise Session Handler
Session::initSessionHandler('File');
// Session::initSessionHandler('MySql');
// Session::initSessionHandler('Redis');
// Session::initSessionHandler('Memcached');

// Start session in readonly mode
// Use when user is already logged in and we need to authorise the client cookie.
Session::start_readonly();

// Auth Check
if (!isset($_SESSION) || !isset($_SESSION['id'])) {
    die('Unauthorised');
}

// Start session in normal (read/write) mode.
// Use once client is authorised and want to make changes in $_SESSION
Session::start_rw_mode();
$_SESSION['id'] = 1;

Database Table for MySql

CREATE TABLE IF NOT EXISTS `sessions` (
    `sessionId` CHAR(32) NOT NULL,
    `lastAccessed` INT UNSIGNED NOT NULL,
    `sessionData` TEXT,
    PRIMARY KEY (`sessionId`)
) ENGINE=InnoDB;

  Files folder image Files (9)  
File Role Description
Files folder imageSessionHandlers (5 files)
Accessible without login Plain text file Example.php Example Example script
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file Login.php Aux. Configuration script
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files (9)  /  SessionHandlers  
File Role Description
  Plain text file FileBasedSessionHandler.php Class Class source
  Plain text file MemcachedBasedSessionHandler.php Class Class source
  Plain text file MySqlBasedSessionHandler.php Class Class source
  Plain text file RedisBasedSessionHandler.php Class Class source
  Plain text file Session.php Class Class source

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:25
This week:25
All time:11,214
This week:1Up