Feature: #101059 - Allow install tool sessions without shared file system
See forge#101059
Description
It is now possible to store Install Tool sessions in Redis or configure the session storage path for file-based Install Tool sessions.
As a shipped session handler, Redis can now be configured via options in
$GLOBALS for host, port, database, and authentication.
Example
To configure an alternative session handler for Install Tool sessions, set the
required options in your settings. or additional. file:
File-based session handler in config/system/settings.php
use TYPO3\CMS\Core\Core\Environment;
use TYPO3\CMS\Install\Service\Session\FileSessionHandler;
return [
'BE' => [
'installToolSessionHandler' => [
'className' => FileSessionHandler::class,
'options' => [
'sessionPath' => Environment::getVarPath() . '/session',
],
],
],
];
Copied!
Redis session handler in config/system/settings.php
use TYPO3\CMS\Install\Service\Session\RedisSessionHandler;
return [
'BE' => [
'installToolSessionHandler' => [
'className' => RedisSessionHandler::class,
'options' => [
'host' => '127.0.0.1',
'port' => 6379,
'database' => 0,
'authentication' => [
'user' => 'redis',
'pass' => 'redis',
],
],
],
],
];
Copied!
Impact
The default file-based session handling for the Install Tool remains unchanged. If no alternative session handler for the Install Tool is configured, the default behavior is used.
Custom session handlers can be created by implementing PHP's
\Session.