Browse Source

Merge pull request #6178 from Fieah/Cache

Cache: Use extension_loaded() instead of *_exists()
Mark Story 11 years ago
parent
commit
48ad0b0c0c

+ 5 - 1
src/Cache/Engine/ApcEngine.php

@@ -42,8 +42,12 @@ class ApcEngine extends CacheEngine
      */
     public function init(array $config = [])
     {
+        if (!extension_loaded('apc')) {
+            return false;
+        }
+
         parent::init($config);
-        return function_exists('apc_dec');
+        return true;
     }
 
     /**

+ 1 - 1
src/Cache/Engine/MemcachedEngine.php

@@ -101,7 +101,7 @@ class MemcachedEngine extends CacheEngine
      */
     public function init(array $config = [])
     {
-        if (!class_exists('Memcached')) {
+        if (!extension_loaded('memcached')) {
             return false;
         }
 

+ 2 - 2
src/Cache/Engine/RedisEngine.php

@@ -76,11 +76,11 @@ class RedisEngine extends CacheEngine
      */
     public function init(array $config = [])
     {
-        if (!class_exists('Redis')) {
+        if (!extension_loaded('redis')) {
             return false;
         }
-        parent::init($config);
 
+        parent::init($config);
         return $this->_connect();
     }
 

+ 5 - 1
src/Cache/Engine/WincacheEngine.php

@@ -42,8 +42,12 @@ class WincacheEngine extends CacheEngine
      */
     public function init(array $config = [])
     {
+        if (!extension_loaded('wincache')) {
+            return false;
+        }
+
         parent::init($config);
-        return function_exists('wincache_ucache_info');
+        return true;
     }
 
     /**

+ 5 - 4
src/Cache/Engine/XcacheEngine.php

@@ -58,11 +58,12 @@ class XcacheEngine extends CacheEngine
      */
     public function init(array $config = [])
     {
-        if (php_sapi_name() !== 'cli') {
-            parent::init($config);
-            return function_exists('xcache_info');
+        if (!extension_loaded('xcache') || php_sapi_name() === 'cli') {
+            return false;
         }
-        return false;
+
+        parent::init($config);
+        return true;
     }
 
     /**