diff --git a/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php b/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php index ec5cf61fd58bc..c448b685454ac 100644 --- a/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php +++ b/src/Symfony/Component/Cache/Tests/Adapter/RedisAdapterTest.php @@ -66,6 +66,9 @@ private function doTestCreateConnection(string $uri) $this->assertTrue($redis->isConnected()); $this->assertSame(0, $redis->getDbNum()); + $redis = RedisAdapter::createConnection('redis://'.$uri.'/'); + $this->assertSame(0, $redis->getDbNum()); + $redis = RedisAdapter::createConnection('redis://'.$uri.'/2'); $this->assertSame(2, $redis->getDbNum()); diff --git a/src/Symfony/Component/Cache/Traits/RedisTrait.php b/src/Symfony/Component/Cache/Traits/RedisTrait.php index d452ee4cfc4d8..1eae909738b00 100644 --- a/src/Symfony/Component/Cache/Traits/RedisTrait.php +++ b/src/Symfony/Component/Cache/Traits/RedisTrait.php @@ -148,7 +148,7 @@ public static function createConnection(string $dsn, array $options = []) } if (isset($params['host']) || isset($params['path'])) { - if (!isset($params['dbindex']) && isset($params['path'])) { + if (!isset($params['dbindex']) && isset($params['path']) && '/' !== $params['path']) { if (preg_match('#/(\d+)$#', $params['path'], $m)) { $params['dbindex'] = $m[1]; $params['path'] = substr($params['path'], 0, -\strlen($m[0]));