php-session-serializer

Mirror of https://gerrit.wikimedia.org/g/php-session-serializer See https://www.mediawiki.org/wiki/Developer_access for contributing

GPL-2.0 License

Downloads
927.9K
Stars
17
Committers
13

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.