Skip to content

Commit

Permalink
[Cache] skip APCu in chains when the backend is disabled
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolas-grekas committed Apr 23, 2020
1 parent 08ded7f commit 5a72084
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
7 changes: 2 additions & 5 deletions src/Symfony/Component/Cache/Adapter/AbstractAdapter.php
Expand Up @@ -14,7 +14,6 @@
use Psr\Cache\CacheItemInterface;
use Psr\Log\LoggerAwareInterface;
use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
use Symfony\Component\Cache\CacheItem;
use Symfony\Component\Cache\Exception\InvalidArgumentException;
use Symfony\Component\Cache\ResettableInterface;
Expand Down Expand Up @@ -116,14 +115,12 @@ public static function createSystemCache($namespace, $defaultLifetime, $version,
if (null !== $logger) {
$fs->setLogger($logger);
}
if (!self::$apcuSupported) {
if (!self::$apcuSupported || (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && !filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN))) {
return $fs;
}

$apcu = new ApcuAdapter($namespace, (int) $defaultLifetime / 5, $version);
if ('cli' === \PHP_SAPI && !filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN)) {
$apcu->setLogger(new NullLogger());
} elseif (null !== $logger) {
if (null !== $logger) {
$apcu->setLogger($logger);
}

Expand Down
3 changes: 3 additions & 0 deletions src/Symfony/Component/Cache/Adapter/ChainAdapter.php
Expand Up @@ -46,6 +46,9 @@ public function __construct(array $adapters, $defaultLifetime = 0)
if (!$adapter instanceof CacheItemPoolInterface) {
throw new InvalidArgumentException(sprintf('The class "%s" does not implement the "%s" interface.', \get_class($adapter), CacheItemPoolInterface::class));
}
if (\in_array(\PHP_SAPI, ['cli', 'phpdbg'], true) && $adapter instanceof ApcuAdapter && !filter_var(ini_get('apc.enable_cli'), FILTER_VALIDATE_BOOLEAN)) {
continue; // skip putting APCu in the chain when the backend is disabled
}

if ($adapter instanceof AdapterInterface) {
$this->adapters[] = $adapter;
Expand Down

0 comments on commit 5a72084

Please sign in to comment.