diff --git a/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php b/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php index e665293529433..66373c9c7d6d4 100644 --- a/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php +++ b/src/Symfony/Component/Messenger/Bridge/Redis/Transport/Connection.php @@ -94,7 +94,21 @@ public function __construct(array $options, \Redis|Relay|\RedisCluster $redis = } else { if (null !== $sentinelMaster) { $sentinelClass = \extension_loaded('redis') ? \RedisSentinel::class : Sentinel::class; - $sentinelClient = new $sentinelClass($host, $port, $options['timeout'], $options['persistent_id'], $options['retry_interval'], $options['read_timeout']); + + if (\extension_loaded('redis') && version_compare(phpversion('redis'), '6.0.0', '>=')) { + $params = [ + 'host' => $host, + 'port' => $port, + 'connectTimeout' => $options['timeout'], + 'persistent' => $options['persistent_id'], + 'retryInterval' => $options['retry_interval'], + 'readTimeout' => $options['read_timeout'], + ]; + + $sentinelClient = new \RedisSentinel($params); + } else { + $sentinelClient = new $sentinelClass($host, $port, $options['timeout'], $options['persistent_id'], $options['retry_interval'], $options['read_timeout']); + } if (!$address = $sentinelClient->getMasterAddrByName($sentinelMaster)) { throw new InvalidArgumentException(sprintf('Failed to retrieve master information from master name "%s" and address "%s:%d".', $sentinelMaster, $host, $port));
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: