J'essaie de faire en sorte que mon application Symfony2 mette en cache une page en utilisant le modèle d'expiration, mais elle ne voit pas la configuration du s-maxage correctement et le navigateur renvoie toujours s-maxage = 0 quelle que soit la valeur que je mets à.Symfony2 HttpCache setSharedMaxAge() toujours 0
Je suis actuellement en utilisant
public function indexAction()
{
$response = $this->render('HtgPageBundle:Default:fullPage.html.twig');
$response->setMaxAge(60);
$response->setSharedMaxAge(60);
return $response;
}
Je n'ai pas utilisé response- $ mis> setPublic() comme cela se fait automatiquement à l'aide du setSharedMaxAge().
La réponse que je reçois du navigateur est toujours
Cache-Control:max-age=60, public, s-maxage=0
X-Symfony-Cache:GET /page/privacy-policy: miss
Mais je me attendais: -
Cache-Control:max-age=60, public, s-maxage=60
X-Symfony-Cache:GET /page/privacy-policy: store
Creuser dans ce que je trouve que setSharedMaxAge est appelé se deux fois, une fois quand je Je l'appelle comme ci-dessus, et à ce stade, il est en train de définir la bonne valeur. Par la suite, il est à nouveau appelé via la méthode Symfony \ Component \ HttpFoundation \ Response :: setTtl() mais ici, il met la valeur à 0, mais je ne sais pas pourquoi il le fait.
J'utilise Symfony v2.4.4
Toutes les suggestions