2009-05-10 4 views
1

Je travaille sur un site web à très fort trafic qui utilise un système de templates Smarty.Les templates Smarty téléchargés lors d'un site à trafic élevé provoquent une page blanche

Lorsque je télécharge une nouvelle copie d'un modèle en cours d'utilisation, la page devient vide (comme s'il n'y avait rien dans le fichier modèle lui-même). Je dois éteindre lighttpd, télécharger à nouveau le modèle, et démarrer lighttpd sauvegarder.

Y at-il des paramètres dans Smarty que je devrais utiliser que je ne pourrais pas être?

Voici une liste des variables que je réglage dans Smarty lui-même:

smarty- $> use_sub_dirs = true;

$ smarty-> compile_check = true;

Répondre

1

ne copie pas vos modèles directement, les copier dans un certain dossier temporaire et après la fin de téléchargement faire une mv (opération de fichier move)

1

Vous essayez d'effacer les fichiers mis en cache? Si le fichier n'est pas complètement téléchargé et que quelqu'un le demande, il est mis en cache cassé (du moins c'est ce que je pense). J'avais l'habitude d'utiliser smarty et j'utilise aussi lighttpd. (a décidé d'aller XSLT)

si la page est demandée plus de 2 fois par seconde, vous ne pourrez jamais réellement mettre à jour le fichier à moins que vous éteignez le serveur http. Ou effacez le fichier smarty mis en cache.

+0

Je ne pense pas que c'est le vrai cache Smarty mais les modèles compilés. –

0

Vous souhaiterez peut-être activer la mise en cache avant de télécharger un fichier (si elle est déjà activée, augmentez le délai et assurez-vous que le modèle entier est mis en cache). Activez le cache et définissez-le sur un délai d'attente de quelques minutes afin que Smarty ne compile pas les modèles nouvellement téléchargés. Visitez la page qui contient votre modèle pour vous assurer que Smarty l'a mis en cache. Ensuite, téléchargez le modèle avant l'expiration du cache. Lorsque le téléchargement est terminé, vous pouvez désactiver la mise en cache (ou rétablir les valeurs d'origine).

Vous souhaiterez peut-être ajouter à votre application un paramètre de configuration pouvant activer/désactiver globalement ce mécanisme de mise en cache.

Questions connexes