Skip to content

JamieCressey/PHP-MySQL-Session-Handler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP MySQL Session Handler

Latest Stable Version Total Downloads Bitdeli Badge

This repository contains a custom PHP session handler using MySQL as a backend. The class has been tested successfully using PHP-FPM and HHVM. To get started, it is recommended, although not required, this class is used in conjunction with PHP-MySQL-PDO-Database-Class.

How to Install

using Composer

Create a composer.json file in your project root:

{
    "require": {
        "jamiecressey/php-mysql-session-handler": "dev-master"
    }
}

Then run the following composer command:

$ php composer.phar install

How to use

CREATE TABLE IF NOT EXISTS `sessions` (
    `id` varchar(32) NOT NULL,
    `timestamp` int(10) unsigned DEFAULT NULL,
    `data` mediumtext,
    PRIMARY KEY (`id`),
    KEY `timestamp` (`timestamp`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
require 'vendor/autoload.php';
$handler = new \JamieCressey\SessionHandler\SessionHandler();

// Pass DB details to create a new MySQLi connection
$handler->setDbDetails('localhost', 'username', 'password', 'database');
// OR alternatively, inject an existing MySQLi resource
// $db = new Db(); // See: https://github.com/jamiecressey/php-mysql-pdo-database-class
// $handler->setDbConnection($db);

$handler->setDbConnection($db);
$handler->setDbTable('sessions');
session_set_save_handler($handler, true);
session_start();

Authors

Jamie Cressey

License

MIT Public License

About

PHP and HHVM compatible MySQL Session Handler

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages