From 65d1bd35c57789d8649c1ee0f4cf4d13ffcbb27d Mon Sep 17 00:00:00 2001 From: Aaron Scherer Date: Mon, 30 Oct 2017 09:56:02 -0700 Subject: [PATCH 1/3] Throwing exception if redis and predis unavailable If the redis extension and predis are unavailable, line 137 throws an exception stating that \Predis\Client is not a class. --- src/Symfony/Component/Cache/Traits/RedisTrait.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Symfony/Component/Cache/Traits/RedisTrait.php b/src/Symfony/Component/Cache/Traits/RedisTrait.php index 467e602070c7a..820d0ddfa1ee2 100644 --- a/src/Symfony/Component/Cache/Traits/RedisTrait.php +++ b/src/Symfony/Component/Cache/Traits/RedisTrait.php @@ -108,6 +108,9 @@ public static function createConnection($dsn, array $options = array()) $params += $query; } $params += $options + self::$defaultConnectionOptions; + if ($params['class'] === null && !extension_loaded('redis') && !class_exists(\Predis\Client::class)) { + throw new \RuntimeException(sprintf("Cannot find the redis extension, and predis/predis is not installed: %s", $dsn)); + } $class = null === $params['class'] ? (extension_loaded('redis') ? \Redis::class : \Predis\Client::class) : $params['class']; if (is_a($class, \Redis::class, true)) { From 43d1d3c92713190f4eb98bdac83d4bd8a430a020 Mon Sep 17 00:00:00 2001 From: Aaron Scherer Date: Mon, 30 Oct 2017 09:59:13 -0700 Subject: [PATCH 2/3] Fixing style issues --- src/Symfony/Component/Cache/Traits/RedisTrait.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Symfony/Component/Cache/Traits/RedisTrait.php b/src/Symfony/Component/Cache/Traits/RedisTrait.php index 820d0ddfa1ee2..681c3513ad307 100644 --- a/src/Symfony/Component/Cache/Traits/RedisTrait.php +++ b/src/Symfony/Component/Cache/Traits/RedisTrait.php @@ -108,8 +108,8 @@ public static function createConnection($dsn, array $options = array()) $params += $query; } $params += $options + self::$defaultConnectionOptions; - if ($params['class'] === null && !extension_loaded('redis') && !class_exists(\Predis\Client::class)) { - throw new \RuntimeException(sprintf("Cannot find the redis extension, and predis/predis is not installed: %s", $dsn)); + if (null === $params['class'] && !extension_loaded('redis') && !class_exists(\Predis\Client::class)) { + throw new \RuntimeException(sprintf('Cannot find the "redis" extension, and "predis/predis" is not installed: %s', $dsn)); } $class = null === $params['class'] ? (extension_loaded('redis') ? \Redis::class : \Predis\Client::class) : $params['class']; From 3ffe1b7cad44f4fc8699344a1204c8695963ef53 Mon Sep 17 00:00:00 2001 From: Aaron Scherer Date: Mon, 30 Oct 2017 10:03:18 -0700 Subject: [PATCH 3/3] Update RedisTrait.php --- src/Symfony/Component/Cache/Traits/RedisTrait.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/Cache/Traits/RedisTrait.php b/src/Symfony/Component/Cache/Traits/RedisTrait.php index 681c3513ad307..ae07ad39a140d 100644 --- a/src/Symfony/Component/Cache/Traits/RedisTrait.php +++ b/src/Symfony/Component/Cache/Traits/RedisTrait.php @@ -16,6 +16,7 @@ use Predis\Connection\Aggregate\PredisCluster; use Predis\Connection\Aggregate\RedisCluster; use Predis\Response\Status; +use Symfony\Component\Cache\Exception\CacheException; use Symfony\Component\Cache\Exception\InvalidArgumentException; /** @@ -109,7 +110,7 @@ public static function createConnection($dsn, array $options = array()) } $params += $options + self::$defaultConnectionOptions; if (null === $params['class'] && !extension_loaded('redis') && !class_exists(\Predis\Client::class)) { - throw new \RuntimeException(sprintf('Cannot find the "redis" extension, and "predis/predis" is not installed: %s', $dsn)); + throw new CacheException(sprintf('Cannot find the "redis" extension, and "predis/predis" is not installed: %s', $dsn)); } $class = null === $params['class'] ? (extension_loaded('redis') ? \Redis::class : \Predis\Client::class) : $params['class']; pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

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:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy