From 1baa2fc1040b0d70827bb2ac6f783d20056b0493 Mon Sep 17 00:00:00 2001 From: Heinz Wiesinger Date: Tue, 4 Nov 2025 11:22:39 +0100 Subject: [PATCH 1/2] Support ssl/tls protocol for Credis --- lib/Redis.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/Redis.php b/lib/Redis.php index 0ccf487..69e67d8 100644 --- a/lib/Redis.php +++ b/lib/Redis.php @@ -223,7 +223,7 @@ public static function parseDsn($dsn) $parts = parse_url($dsn); // Check the URI scheme - $validSchemes = array('redis', 'rediss', 'tcp'); + $validSchemes = array('redis', 'tcp', 'rediss', 'tls', 'ssl'); if (isset($parts['scheme']) && ! in_array($parts['scheme'], $validSchemes)) { throw new InvalidArgumentException("Invalid DSN. Supported schemes are " . implode(', ', $validSchemes)); } @@ -266,8 +266,14 @@ public static function parseDsn($dsn) $pass = isset($parts['pass']) ? $parts['pass'] : false; } + $host = $parts['host']; + + if (isset($parts['scheme']) && in_array($parts['scheme'], [ 'tls', 'ssl' ])) { + $host = $parts['scheme'] . '://' . $parts['host']; + } + return array( - $parts['host'], + $host, $port, $database, $user, From b413332085c9ba787570c62b77f6bfc9a9476550 Mon Sep 17 00:00:00 2001 From: Heinz Wiesinger Date: Thu, 15 Oct 2026 20:34:11 +0200 Subject: [PATCH 2/2] Translate rediss to tls for Credis Credis (as of 1.17.1) does not (yet) support the rediss scheme. We can manually translate it to tls though. --- lib/Redis.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/Redis.php b/lib/Redis.php index 69e67d8..f2b0928 100644 --- a/lib/Redis.php +++ b/lib/Redis.php @@ -268,8 +268,9 @@ public static function parseDsn($dsn) $host = $parts['host']; - if (isset($parts['scheme']) && in_array($parts['scheme'], [ 'tls', 'ssl' ])) { - $host = $parts['scheme'] . '://' . $parts['host']; + if (isset($parts['scheme']) && in_array($parts['scheme'], [ 'tls', 'ssl', 'rediss' ])) { + $scheme = $parts['scheme'] === 'rediss' ? 'tls' : $parts['scheme']; + $host = $scheme . '://' . $parts['host']; } return array(