1 votes

Les fichiers du site web sont mis en cache sur un serveur web Debian fonctionnant avec PHP 5.5.28

Lorsque j'apporte de petites modifications à mon site web et que je les télécharge, il faut généralement quelques minutes pour que ces changements soient répercutés en direct. Cela n'a commencé à se produire qu'après l'installation d'un nouveau système debian via Google Compute Engine.

J'ai écarté l'hypothèse d'un code qui le mettrait en cache, mais est-il possible que PHP 5.5.28 ou Debian mette des fichiers en cache ? J'ai également vérifié que ce n'était pas le navigateur et j'ai utilisé l'option chrome pour ne pas mettre les fichiers en cache dans les outils de développement.

2voto

Giacomo1968 Points 48326

Vous utilisez PHP 5.5.28, et d'après mon expérience, toute personne qui passe de PHP 5.3 ou 5.4 à PHP 5.5 doit être au courant des nouvelles fonctionnalités intégrées. OPcache (Operations Cache) étant activée par défaut.

Si vous avez déjà utilisé APC (Alternative PHP Cache) Le nouvel OPcache intégré fonctionne à peu près de la même manière et est utile pour la production de code complexe, mais le fait qu'il soit activé par défaut peut vous gêner si vous avez l'habitude de télécharger des fichiers et de voir les modifications apparaître immédiatement.

Ce site fait du bon travail d'expliquer ce qu'est OPcache et comment l'améliorer. Mais si vous n'avez pas encore besoin d'OPcache, ouvrez simplement votre fichier PHP ini comme ceci ; je préfère utiliser nano mais n'hésitez pas à utiliser l'éditeur de texte qui vous convient :

sudo nano /etc/php5/apache2/php.ini

Cherchez la ligne qui se lit comme suit :

opcache.enable=1

Il suffit de le désactiver en remplaçant cette ligne par :

;opcache.enable=0

Redémarrer Apache et maintenant PHP 5.5 n'utilise plus OPcache. Et honnêtement, l'activation d'un tel cache devrait être du ressort de l'administrateur système et de sa connaissance du fonctionnement du code et de la réaction du serveur.

Si votre site basé sur PHP est suffisamment léger, OPcache peut s'avérer excessif, vraiment inutile et même gênant.

Mais si vous avez besoin d'OPcache mais que vous devez également mettre à jour les fichiers PHP régulièrement, peut-être que une modification des valeurs de configuration de l'OPcache pourrait être utile . Les paramètres par défaut sont les suivants :

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

L'élément clé que je vois dans cette configuration et qui pourrait faire échouer une mise à jour prévue est le suivant opcache.revalidate_freq :

Fréquence de vérification des mises à jour de script, en secondes. 0 entraînera OPcache vérifie les mises à jour à chaque requête.

La valeur par défaut de 60 secondes est satisfaisante, mais il me semble que l'abaissement de la valeur de la opcache.revalidate_freq à quelque chose comme 5 secondes pourrait être un moyen plus agréable de bénéficier de l'activation d'OPcache, tout en ayant une fenêtre de vérification des mises à jour raisonnable afin de ne pas se faire piéger par de simples mises à jour de fichiers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X