From 3620e57b5bd8b48c5092c54c32d4ca57b879cf65 Mon Sep 17 00:00:00 2001 From: Andrew Aitken-Fincham Date: Tue, 21 Nov 2017 15:51:38 +0000 Subject: [PATCH] check for apc.enable_cli when running from CLI --- src/Core/Cache/DefaultCacheFactory.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Core/Cache/DefaultCacheFactory.php b/src/Core/Cache/DefaultCacheFactory.php index aa2dc80db..a9417095c 100644 --- a/src/Core/Cache/DefaultCacheFactory.php +++ b/src/Core/Cache/DefaultCacheFactory.php @@ -5,6 +5,7 @@ namespace SilverStripe\Core\Cache; use Psr\Log\LoggerAwareInterface; use Psr\Log\LoggerInterface; use Psr\SimpleCache\CacheInterface; +use SilverStripe\Control\Director; use SilverStripe\Core\Injector\Injector; use Symfony\Component\Cache\Simple\FilesystemCache; use Symfony\Component\Cache\Simple\ApcuCache; @@ -85,7 +86,8 @@ class DefaultCacheFactory implements CacheFactory { static $apcuSupported = null; if (null === $apcuSupported) { - $apcuSupported = ApcuAdapter::isSupported(); + // Need to check for CLI because Symfony won't: https://github.com/symfony/symfony/pull/25080 + $apcuSupported = Director::is_cli() ? ini_get('apc.enable_cli') && ApcuAdapter::isSupported() : ApcuAdapter::isSupported(); } return $apcuSupported; }