it-swarm.com.de

PHP Code steckt im Cache [Memcached]

Ich habe ein kleines Problem mit meiner Website bezüglich unserer Caching-Methode. Mein PHP-Code wird nicht aktualisiert oder geleert.

Zu Beginn befindet sich meine Website auf einem dedizierten Nginx-Webserver. Ich habe W3 Total Cache für das anfängliche Caching-Setup verwendet. Alles wurde so eingerichtet, dass es über Memcached zwischengespeichert wird.
(Ich sollte beachten, dass meine Website in gewisser Weise ein "Gast" auf diesem Server ist, der ein Teil eines semi-gesponserten Community-Spenden-Servers ist, auf dem einige andere Dinge ausgeführt werden. Die Administratoren sind geschickte, aber auch freiwillige Helfer. Ich habe ihre volle Unterstützung für die Behebung von Problemen, aber sie haben keine Zeit, um mein sehr seltsames Problem zu beheben (insbesondere, weil ich darum gebeten habe, dass das Caching für die Site selbst aktiviert wird.) Wenn wir einige Hinweise dazu hätten, wie es weitergehen soll würde es uns leichter machen als im Dunkeln zu fotografieren;) Anregungen sind also willkommen.)

Irgendwann bemerkten wir, dass Änderungen an PHP-Seiten und Wordpress & Plugin-Updates überhaupt nicht funktionierten, während der Code auf dem Server Updates widerspiegelte und die Seiten immer noch mit dem älteren PHP-Code verarbeitet wurden.

Dies warf ein paar einzigartige Probleme auf. W3 Total Cache speichert die Einstellungen in PHP-Dateien. Wenn andere PHP-Dateien gelöscht werden, funktionieren sie nicht mehr. Wenn sie jedoch auf dem Server wiederhergestellt werden, besteht memcached weiterhin darauf, die ultra-alte memcached-Kopie zu verwenden. Die W3 Total Cache-Einstellungen, egal ob ich die PHP-Einstellungsdateien entfernt oder geändert habe, würden NICHT aufhören, alles durch zwischengespeicherte Memcachedaten laufen zu lassen.

Der Serveradministrator versucht, memcached neu zu starten und es dann zu leeren. Beides schien keine Wirkung zu haben. Alle anderen Grundeinstellungen scheinen korrekt eingerichtet zu sein.

Wir können natürlich immer noch neue Plugins hinzufügen, alle Daten, die aus der Datenbank stammen, funktionieren einwandfrei.

Mindestens eine andere Site auf dem Server, die nicht WordPress ist, verwendet ebenfalls Memcached ohne Probleme.

Jede Hilfe wird gebeten, sollte in der Lage sein, bei Bedarf weitere Informationen bereitzustellen.

1
Sam K

Vorschläge sind also willkommen.

Vorschlag 1 - Immer wenn Memcache auf dem Server verfügbar ist, bevorzuge ich den Cache für zwischengespeicherte Objekte und den Batcache , es sei denn, ich habe einen bestimmten Grund, W3 Total zu verwenden Zwischenspeicher. Was auch immer W3 Total Cache anbietet, kann auch ohne es erreicht werden. Zum Beispiel haben wir für Minify Better WP Minify , für Varnish gibt es WordPress Varnish . Für die Cloudflare-Integration gibt es auch ein Plugin .

meine Website befindet sich auf einem dedizierten Nginx-Webserver. Ich habe W3 Total Cache für das anfängliche Caching-Setup verwendet. Alles wurde so eingerichtet, dass es über Memcached zwischengespeichert wird.

Vorschlag Nr. 2. Wechseln Sie zu "Page Cache" in Disk: Enhanced Modus. Das Einrichten von W3 Total Cache mit Nginx sieht vielleicht schwierig aus, ist aber einfach, wenn wir erst einmal verstanden haben, wie es gemacht wird. Lassen Sie mich mitteilen, wie das geht. Normalerweise erstellt W3 Total Cache eine Datei mit dem Namen nginx.conf im /path/to/wordpress/installation. Also, dein Nginx vhost wäre wie ...

 Server {
 Servername domain.com; 
 root /path/to/wordpress/installation;
 index index.php; 
 
 # W3 Total Cache-Konfiguration sollte hier enthalten sein 
 # Wenn nicht, funktioniert W3TC möglicherweise nicht und beschwert sich möglicherweise nur über 
 Include $ document_root/nginx.conf; 
 
 # [...] alle anderen Dinge wie ... 
 # location ~\.php $ {} blockieren 
 # location\{} blockieren 
} 

Bitte beachte , dass der Nginx-Server immer dann neu geladen werden muss , wenn du etwas in der W3 Total Cache-Konfiguration änderst (via WordPress-Backend), wie nginx -t && service nginx reload (ich weiß, es ist verrückt, aber so könnten wir es die Änderungen wirksam werden lassen). Es wird daher empfohlen, es einzurichten und zu vergessen. W3TCs Seiten-Cache funktioniert nur mit Nginx.

Es tut mir leid, ich konnte Ihr ursprüngliches Anliegen nicht beantworten (PHP-Code steckt im Cache [Memcached])

3
Pothi Kalimuthu

Zunächst einmal ist dies kein WordPress-Problem - es ist ein Memcache-Problem - und wenn es nicht um die offene Prämie geht, würde ich es als nicht thematisch schließen.

Sekunden, wenn Ihr Problem darin besteht, dass Memcache alte Inhalte bereitstellt, müssen Sie anscheinend flush Memcache .

2
EAMann