summaryrefslogtreecommitdiffstats
path: root/lib/private/memcache/factory.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/memcache/factory.php')
-rw-r--r--lib/private/memcache/factory.php17
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';