Merge "ApiBase: Always validate that 'limit' is numeric"
[lhc/web/wiklou.git] / includes / objectcache / ObjectCache.php
index ad0f67e..5e99ac9 100644 (file)
@@ -204,9 +204,6 @@ class ObjectCache {
                                if ( !isset( $params['servers'] ) ) {
                                        $params['servers'] = $GLOBALS['wgMemCachedServers'];
                                }
-                               if ( !isset( $params['debug'] ) ) {
-                                       $params['debug'] = $GLOBALS['wgMemCachedDebug'];
-                               }
                                if ( !isset( $params['persistent'] ) ) {
                                        $params['persistent'] = $GLOBALS['wgMemCachedPersistent'];
                                }
@@ -322,6 +319,7 @@ class ObjectCache {
         * @param array $params
         * @return WANObjectCache
         * @throws UnexpectedValueException
+        * @suppress PhanTypeMismatchReturn
         */
        public static function newWANCacheFromParams( array $params ) {
                global $wgCommandLineMode, $wgSecretKey;
@@ -393,12 +391,19 @@ class ObjectCache {
         */
        public static function detectLocalServerCache() {
                if ( function_exists( 'apcu_fetch' ) ) {
-                       return 'apcu';
+                       // Make sure the APCu methods actually store anything
+                       if ( PHP_SAPI !== 'cli' || ini_get( 'apc.enable_cli' ) ) {
+                               return 'apcu';
+                       }
                } elseif ( function_exists( 'apc_fetch' ) ) {
-                       return 'apc';
+                       // Make sure the APC methods actually store anything
+                       if ( PHP_SAPI !== 'cli' || ini_get( 'apc.enable_cli' ) ) {
+                               return 'apc';
+                       }
                } elseif ( function_exists( 'wincache_ucache_get' ) ) {
                        return 'wincache';
                }
+
                return CACHE_NONE;
        }
 }