web-dev-qa-db-fra.com

PHP Code bloqué dans le cache [Memcached]

Vous rencontrez un problème avec mon site en ce qui concerne notre méthode de mise en cache et mon code php ne rafraîchit ni ne flush.

Pour commencer, mon site est sur un serveur Web Nginx dédié. J'ai utilisé W3 Total Cache pour la configuration initiale de la mise en cache. Tout a été mis en place pour mettre en cache via Memcached.
(Je dois noter que mon site Web est en quelque sorte un "invité" sur ce serveur, qui est en quelque sorte un serveur semi-sponsorisé de dons semi-communautaire qui gère d'autres tâches. Les administrateurs sont des personnes compétentes mais également des bénévoles. Je suis tout à fait en faveur de la résolution des problèmes, mais ils n’ont pas le temps de résoudre mon problème très étrange (en particulier parce que j’ai demandé que la mise en cache soit activée pour le site moi-même). rendrait les choses plus faciles pour nous que de prendre des photos dans le noir;) Toute suggestion est donc la bienvenue.)

À un moment donné, nous avons remarqué que les modifications apportées aux pages php et aux mises à jour de Wordpress & Plugin ne fonctionnaient pas du tout, alors que le code sur le serveur reflétait les mises à jour, les pages étant toujours traitées via l'ancien code php.

Cela présentait quelques problèmes uniques. W3 Total Cache enregistre les paramètres dans des fichiers php. Les autres fichiers php, lorsqu'ils sont supprimés, cessent de fonctionner, mais lorsqu'ils sont restaurés sur le serveur, memcached insiste toujours pour utiliser sa copie ultra-ancienne memcached. Les paramètres W3 Total Cache, que je supprime ou que je modifie les fichiers php des paramètres, NE CESSERONT PAS de tout exécuter par le biais de données memcached en cache.

L'administrateur du serveur tente de redémarrer Memcached, puis de le vider. Aucune de celles-ci ne semblait avoir aucun effet. Tous les autres paramètres de base semblent être configurés correctement.

Bien sûr, nous pouvons toujours ajouter de nouveaux plugins. Toutes les données provenant de la base de données fonctionnent parfaitement.

Au moins un autre site sur le serveur qui n'est pas wordpress utilise également memcached sans aucun problème.

Toute aide est appréciée, devrait pouvoir fournir de plus amples informations si nécessaire.

1
Sam K

Donc, toutes les suggestions sont les bienvenues.

Suggestion n ° 1 - Chaque fois que Memcache est disponible sur le serveur, je préfère le cache d'objets Memcached et Batcache , sauf si j’ai une raison spécifique d’utiliser W3 Total Cache. Quoi qu'il en soit, les offres W3 Total Cache peuvent être réalisées sans cela. Par exemple, pour minify, nous avons Mieux WP Minify , pour le vernis, il y a WordPress Varnish . Pour l'intégration Cloudflare, il existe aussi un plugin .

mon site est sur un serveur Web dédié Nginx. J'ai utilisé W3 Total Cache pour la configuration initiale de la mise en cache. Tout a été mis en place pour mettre en cache via Memcached.

Suggestion n ° 2. Basculez sur "Cache de page" dans Disque: Mode amélioré . La configuration de W3 Total Cache avec Nginx peut sembler délicate, mais facile une fois que nous avons compris comment procéder. Laissez-moi partager comment faire cela. Généralement, W3 Total Cache crée un fichier nommé nginx.conf dans le /path/to/wordpress/installation. Ainsi, le vhost de votre Nginx serait comme ...

 server {
 nom_serveur domain.com; 
 root /path/to/wordpress/installation;
 index index.php; 
 
 # La configuration du cache total W3 doit être incluse ici 
 # Si ce n’est pas le cas, W3TC risque de ne pas fonctionner et de ne se plaindre que de 
. ] # [...] tous les autres éléments tels que ... 
 # emplacement ~\.php $ {} block 
 # emplacement\{} block 
} 

Veuillez noter que chaque fois que vous modifiez quelque chose dans la configuration de W3 Total Cache (via WordPress), le serveur Nginx doit être rechargé comme nginx -t && service nginx reload (je sais que c'est fou, mais c'est ainsi que nous pourrions faire les changements pour prendre effet). Donc, il est recommandé de le configurer et de l’oublier. Le cache de pages de W3TC fonctionne uniquement avec Nginx.

Je suis désolé, je ne pouvais pas répondre à votre préoccupation initiale (Code PHP bloqué dans le cache [Memcached])

3
Pothi Kalimuthu

Tout d’abord, il ne s’agit pas d’un problème lié à WordPress - c’est un problème lié à Memcache - et si ce n’était pas le cas de la prime ouverte, je le résoudrais hors sujet.

Secondes, si votre problème est lié au fait que Memcache sert un contenu ancien, il semble que vous deviez vider Memcache .

2
EAMann