global $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType;
$candidates = [ $wgMainCacheType, $wgMessageCacheType, $wgParserCacheType ];
foreach ( $candidates as $candidate ) {
+ $cache = false;
if ( $candidate !== CACHE_NONE && $candidate !== CACHE_ANYTHING ) {
- return self::getInstance( $candidate );
+ $cache = self::getInstance( $candidate );
+ // CACHE_ACCEL might default to nothing if no APCu
+ // See includes/ServiceWiring.php
+ if ( !( $cache instanceof EmptyBagOStuff ) ) {
+ return $cache;
+ }
}
}
return $cache;
}
- /**
- * @param array $params [optional] Array key 'fallback' for $fallback.
- * @param int|string $fallback Fallback cache, e.g. (CACHE_NONE, "hash") (since 1.24)
- * @return BagOStuff
- * @deprecated since 1.27
- */
- public static function newAccelerator( $params = [], $fallback = null ) {
- if ( $fallback === null ) {
- if ( is_array( $params ) && isset( $params['fallback'] ) ) {
- $fallback = $params['fallback'];
- } elseif ( !is_array( $params ) ) {
- $fallback = $params;
- }
- }
-
- return self::getLocalServerInstance( $fallback );
- }
-
/**
* Create a new cache object of the specified type.
*
* @throws UnexpectedValueException
*/
public static function newWANCacheFromParams( array $params ) {
+ $erGroup = MediaWikiServices::getInstance()->getEventRelayerGroup();
foreach ( $params['channels'] as $action => $channel ) {
- $params['relayers'][$action] = MediaWikiServices::getInstance()->getEventRelayerGroup()
- ->getRelayer( $channel );
+ $params['relayers'][$action] = $erGroup->getRelayer( $channel );
$params['channels'][$action] = $channel;
}
$params['cache'] = self::newFromParams( $params['store'] );
*
* @since 1.26
* @return WANObjectCache
- * @deprecated Since 1.28 Use MediaWikiServices::getMainWANCache()
+ * @deprecated Since 1.28 Use MediaWikiServices::getMainWANObjectCache()
*/
public static function getMainWANInstance() {
return MediaWikiServices::getInstance()->getMainWANObjectCache();