phalcon/incubator-session

Phalcon Incubator Sessions Adapters

Maintainers

👁 Jeckerson

Package info

github.com/phalcon/incubator-session

Homepage

Issues

Forum

pkg:composer/phalcon/incubator-session

Fund package maintenance!

phalcon

Open Collective

Statistics

Installs: 295 331

Dependents: 0

Suggesters: 0

Stars: 6

v3.0.0 2025-11-15 14:06 UTC

Requires

  • php: >=8.1
  • ext-phalcon: ^5.0

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause 7b742736494b617fac666eb9efbb88f721a78478

frameworksessionphalconincubator


README

👁 Discord
👁 Packagist Version
👁 PHP from Packagist
👁 codecov
👁 Packagist

Issues tracker

https://github.com/phalcon/incubator/issues

Database

This adapter uses a database backend to store session data:

use Phalcon\Db\Adapter\Pdo\Mysql;
use Phalcon\Incubator\Session\Adapter\Database;

$di->set('session', function () {
 // Create a connection
 $connection = new Mysql([
 'host' => 'localhost',
 'username' => 'root',
 'password' => 'secret',
 'dbname' => 'test',
 ]);

 $session = new Database($connection, 'session_data');
 $session->start();

 return $session;
});

This adapter uses the following table to store the data:

 CREATE TABLE `session_data` (
 `session_id` VARCHAR(35) NOT NULL,
 `data` text NOT NULL,
 `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
 `modified_at` TIMESTAMP NULL DEFAULT NULL,
 PRIMARY KEY (`session_id`)
);

Upgrading from phalcon/incubator 3.4 will require changes to the session_data table:

ALTER TABLE session_data MODIFY COLUMN created_at TIMESTAMP DEFAULT current_timestamp() NOT NULL;
ALTER TABLE session_data MODIFY COLUMN modified_at TIMESTAMP DEFAULT NULL NULL;

Mongo

Install PHP MongoDB Extension via pecl:

pecl install mongodb

After install, add the following line to your php.ini file:

extension=mongodb.so

This adapter uses a Mongo database backend to store session data:

use Phalcon\Incubator\Session\Adapter\Mongo as MongoSession;

$di->set('session', function () {
 // Create a connection to mongo
 $mongo = new \MongoDB\Client(
 'mongodb+srv://<username>:<password>@<cluster-address>/test?retryWrites=true&w=majority'
 );

 // Passing a collection to the adapter
 $session = new MongoSession([
 'collection' => $mongo->test->session_data,
 ]);
 $session->start();

 return $session;
});