fix redis multi host dsn not recognized
This commit is contained in:
parent
88ed8172d8
commit
81ba07aa26
@ -50,13 +50,13 @@ class SessionHandlerFactory
|
|||||||
case 0 === strpos($connection, 'file://'):
|
case 0 === strpos($connection, 'file://'):
|
||||||
return new StrictSessionHandler(new NativeFileSessionHandler(substr($connection, 7)));
|
return new StrictSessionHandler(new NativeFileSessionHandler(substr($connection, 7)));
|
||||||
|
|
||||||
case 0 === strpos($connection, 'redis://'):
|
case 0 === strpos($connection, 'redis:'):
|
||||||
case 0 === strpos($connection, 'rediss://'):
|
case 0 === strpos($connection, 'rediss:'):
|
||||||
case 0 === strpos($connection, 'memcached://'):
|
case 0 === strpos($connection, 'memcached:'):
|
||||||
if (!class_exists(AbstractAdapter::class)) {
|
if (!class_exists(AbstractAdapter::class)) {
|
||||||
throw new InvalidArgumentException(sprintf('Unsupported DSN "%s". Try running "composer require symfony/cache".', $connection));
|
throw new InvalidArgumentException(sprintf('Unsupported DSN "%s". Try running "composer require symfony/cache".', $connection));
|
||||||
}
|
}
|
||||||
$handlerClass = 0 === strpos($connection, 'memcached://') ? MemcachedSessionHandler::class : RedisSessionHandler::class;
|
$handlerClass = 0 === strpos($connection, 'memcached:') ? MemcachedSessionHandler::class : RedisSessionHandler::class;
|
||||||
$connection = AbstractAdapter::createConnection($connection, ['lazy' => true]);
|
$connection = AbstractAdapter::createConnection($connection, ['lazy' => true]);
|
||||||
|
|
||||||
return new $handlerClass($connection);
|
return new $handlerClass($connection);
|
||||||
|
Reference in New Issue
Block a user