Session serializing!

Clone this repo:
  1. b202bfa build: Updating composer dependencies by libraryupgrader · 8 days ago master
  2. 91c3304 build: Upgrade mediawiki-phan-config for PHP 8.5 support by James D. Forrester · 3 weeks ago
  3. 57a4ba0 build: Upgrade PHPUnit from 10.5.58 to 10.5.63 to unblock CI by James D. Forrester · 6 weeks ago
  4. 1fd5075 build: Upgrade mediawiki/mediawiki-phan-config from 0.17.0 to 0.18.0 by James D. Forrester · 6 weeks ago
  5. b1dcb18 Update copy of GPL license and licensing headers in files by James D. Forrester · 3 months ago

Latest Stable Version License

php-session-serializer

php-session-serializer is a PHP library that provides methods that work like PHP's session_encode and session_decode functions, but don't mess with the $_SESSION superglobal.

It supports the php, php_binary, and php_serialize serialize handlers. wddx is not supported, since it is inferior to php and php_binary.

Usage

use Wikimedia\PhpSessionSerializer;

// (optional) Send logs to a PSR-3 logger
PhpSessionSerializer::setLogger( $logger )

// (optional) Ensure that session.serialize_handler is set to a usable value
PhpSessionSerializer::setSerializeHandler();

// Encode session data
$string = PhpSessionSerializer::encode( $array );

// Decode session data
$array = PhpSessionSerializer::decode( $string );

Running tests

composer install --prefer-dist
composer test

History

This library was created to support custom session handler read and write methods that are more useful than blindly storing the serialized data that PHP gives to custom handlers.