Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Soucis avec jTpl (cache)

Posted by zian974 on 07/30/2014 11:53

Bonjour,

A chaque fois que je modifie un fichier de template, j'ai une erreur dans les logs d'apache (Call to undefined function template_meta_XXXXX() in jTpl.php on line 204.

si je réactualise plusieurs fois la page, à un certain moment le cache se réactualise et la page apparaît. Si je remodifie le template, même scénario. Incompréhensible.

Cdlt.

  [Opened] Soucis avec jTpl (cache)

Reply #1 Posted by laurentj on 07/30/2014 12:20

Bonjour,

Oui c'est un bug que j'ai corrigé il y a peu, existant en fait depuis Jelix 1.5.

Il s'agit d'un problème qui apparait quand il y a un cache d'opcode dans le moteur PHP (qui est activé par défaut dans la dernière version de PHP). Les caches de templates sont chargés deux fois par un require lorsqu'ils sont invalides (la première fois qui permet de détecter l'invalidation par l'appel d'une fonction dans ce cache, et la deuxième fois après avoir regénéré le cache). Or, quand il y a un cache d'opcode, le deuxième require() sur un même fichier ne relis pas le fichier physique, mais récupère ce qu'il y a dans le cache d'opcode. Sauf si entre les deux on invalide le cache d'opcode, ce qui manquait...

La correction est dans la nightly de la 1.6, mais pas encore dans la 1.5. Donc soit utiliser la nightly de la 1.6, soit désactiver le cache d'opcode de PHP sur sa machine de dev.

  [Opened] Re: Soucis avec jTpl (cache)

Reply #2 Posted by zian974 on 07/30/2014 12:31

Ok,

Ouf. Je testais la 1.6, ça ne marchait pas et je reviens à la 1.5 même chose alors que je n'avais jamais eu de problème auparavant avec cette version. Et comme je travaille sur une nouvelle machine, tout s'explique.

Merci.

 
Page
  1. Soucis avec jTpl (cache)