diff options
author | Vincent Petry <pvince81@owncloud.com> | 2015-06-09 15:22:33 +0200 |
---|---|---|
committer | Vincent Petry <pvince81@owncloud.com> | 2015-06-12 12:33:06 +0200 |
commit | 3b08b2658954b95932af8eec7cfaac17b1da7873 (patch) | |
tree | 6df71b8ae97559b0781c4f5cc9bc267764a97393 /lib/private/memcache | |
parent | dbe344ef3dc3ea643513fce8d76d1979d733c49a (diff) | |
download | nextcloud-server-3b08b2658954b95932af8eec7cfaac17b1da7873.tar.gz nextcloud-server-3b08b2658954b95932af8eec7cfaac17b1da7873.zip |
Throw exception if memcache misconfigured or missing
Instead of falling back to null memcache, throw exceptions.
Also throw file locking specific exceptions in case the class is not
available.
Diffstat (limited to 'lib/private/memcache')
-rw-r--r-- | lib/private/memcache/factory.php | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/private/memcache/factory.php b/lib/private/memcache/factory.php index 5e3d857006c..320657a71ad 100644 --- a/lib/private/memcache/factory.php +++ b/lib/private/memcache/factory.php @@ -62,12 +62,25 @@ class Factory implements ICacheFactory { { $this->globalPrefix = $globalPrefix; - if (!($localCacheClass && $localCacheClass::isAvailable())) { + if (!$localCacheClass) { $localCacheClass = self::NULL_CACHE; } - if (!($distributedCacheClass && $distributedCacheClass::isAvailable())) { + if (!$distributedCacheClass) { $distributedCacheClass = $localCacheClass; } + + if (!$localCacheClass::isAvailable()) { + throw new \OC\HintException( + 'Missing memcache class ' . $localCacheClass . ' for local cache', + 'Is the matching PHP module installed and enabled ?' + ); + } + if (!$distributedCacheClass::isAvailable()) { + throw new \OC\HintException( + 'Missing memcache class ' . $distributedCacheClass . ' for distributed cache', + 'Is the matching PHP module installed and enabled ?' + ); + } if (!($lockingCacheClass && $lockingCacheClass::isAvailable())) { // dont fallback since the fallback might not be suitable for storing lock $lockingCacheClass = '\OC\Memcache\NullCache'; |