From 7f9556ce1931a4021a320ef688247f846b87d2b5 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Fri, 15 Nov 2019 16:19:43 +0100 Subject: [PATCH] [HttpKernel] dont check cache freshness more than once per process --- src/Symfony/Component/HttpKernel/Kernel.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/HttpKernel/Kernel.php b/src/Symfony/Component/HttpKernel/Kernel.php index 952d3a0b4f..47f0b49b58 100644 --- a/src/Symfony/Component/HttpKernel/Kernel.php +++ b/src/Symfony/Component/HttpKernel/Kernel.php @@ -74,6 +74,8 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl private $requestStackSize = 0; private $resetServices = false; + private static $freshCache = []; + const VERSION = '4.4.0-DEV'; const VERSION_ID = 40400; const MAJOR_VERSION = 4; @@ -511,7 +513,9 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl $errorLevel = error_reporting(\E_ALL ^ \E_WARNING); try { - if (file_exists($cachePath) && \is_object($this->container = include $cachePath) && (!$this->debug || $cache->isFresh())) { + if (file_exists($cachePath) && \is_object($this->container = include $cachePath) + && (!$this->debug || (self::$freshCache[$k = $cachePath.'.'.$this->environment] ?? self::$freshCache[$k] = $cache->isFresh())) + ) { $this->container->set('kernel', $this); error_reporting($errorLevel);