2010-03-09 4 views
1

J'essaie d'implémenter la mise en cache statique de la page complète dans mon application Zend Framework. En utilisant le backend statique couplé avec le frontend Capture, des pages entières peuvent être mises en cache et servies par une redirection .htaccess à l'avenir, jusqu'à ce que le cache soit supprimé/régénéré. Pour référence, j'ai utilisé la section sur Zend_Cache_Backend_Static dans le manuel, et aussi certains further information fournis par l'auteur du cours.Zend Cache ne fonctionne pas avec Action Helper

Comme par l'exemple, j'ai configuré les répertoires pour le cache (fichiers HTML statiques) et leurs étiquettes, et je l'ai ajouté la ligne:

$this->_helper->cache(array('index'), array('allentries')); 

à un de mes contrôleurs.

Le fichier HTML est créé au bon endroit et les balises sont également créées comme prévu. Cependant, le fichier HTMl est toujours vide - 0 octet.

Je ne parviens pas à diagnostiquer le problème et je ne trouve aucune information en ligne pour vous aider. Pour autant que je puisse voir, c'est un problème avec le callback Output Buffering qui reçoit la sortie de l'application Zend, mais je ne sais pas exactement ce qui ne va pas.

Quelqu'un peut-il nous éclairer sur le problème?

+0

Il semble que la fonction de rappel ob_start passe une chaîne vide à chaque fois. Si j'ajoute la chaîne 'test' aux données de la méthode Zend_Cache_Frontend_Capture :: _ flush, seule la chaîne 'test' est écrite dans le fichier HTML. Une idée de pourquoi le callback ne reçoit pas le contenu HTML de la page générée? –

Répondre

1

Après beaucoup de gratter la tête, je trouve la réponse:

; required for page caching 
resources.frontController.params.disableOutputBuffering = true 

... dans l'application fichier INI.

Questions connexes