web-dev-qa-db-ja.com

PHP コードがキャッシュに止まった[Memcached]

私のサイトで私たちのキャッシュ方法と私のphpコードが更新もフラッシュもしていないことに関して少し問題を抱えていました。

はじめに、私のサイトは専用のNginx Webサーバー上にあります。初期のキャッシュ設定にはW3 Total Cacheを使用しました。 Memcachedを介してすべてがキャッシュ用に設定されました。
(私のウェブサイトはこのサーバー上の「ゲスト」のようなもので、他のことを実行するセミコミュニティ寄付セミスポンサー付きサーバーのようなものです。管理者も熟練していますがボランティアです。私は物事を修正するために彼らの完全なサポートを持っています、しかし彼らは私の非常に奇妙な問題を解決する時間を持っていません(私が私自身にそのサイトのためにオンにされるためにキャッシングを求めたので)。暗闇の中で写真を撮るよりも物事が楽になるでしょう;)

ある時点で、phpページの変更とWordpress&Pluginの更新がまったく機能していないことに気付きましたが、サーバー上のコードは更新を反映していましたが、ページはまだ古いphpコードで処理されていました。

これはいくつかのユニークな問題を提示しました。 W3 Total Cacheはそれをphpファイルに保存します。他のphpファイルは、削除されると動作を停止しますが、それらがサーバに復元されると、まだ超古いmemcachedコピーの使用を要求します。 W3 Total Cache設定は、私が設定phpファイルを削除したか変更したかどうかにかかわらず、キャッシュされたmemcachedデータを通してすべてを実行するのを止めません。

サーバー管理者がmemcachedを再起動してからフラッシュします。どちらも効果がないようでした。その他の基本設定はすべて正しく設定されているようです。

もちろん、まだ新しいプラグインを追加することができます。データベースから来るすべてのデータは問題なく動作します。

ワードプレスではないサーバー上の少なくとも1つの他のサイトも問題なくmemcachedを使用します。

それが必要ならばどんな援助でも評価されます、さらなる情報を提供することができるべきです。

1
Sam K

それで、どんな提案でも歓迎されます。

提案#1 - Memcacheがサーバーで利用可能であるときはいつでも、私は Memcached Object CacheBatcache を好みます。キャッシュ。 W3 Total Cacheが提供するものは何でも、それがなくても達成できます。例えば、縮小のために、 より良いWP最小化 があります。ニスのために、 WordPress Varnish があります。 Cloudflare統合のために、 プラグイン もあります。

私のサイトは専用のNginxウェブサーバーにあります。初期のキャッシュ設定にはW3 Total Cacheを使用しました。 Memcachedを介してすべてがキャッシュ用に設定されました。

提案2。 ディスクの「ページキャッシュ」に切り替えます。拡張モードです。 NginxでW3 Total Cacheを設定するのは難しいかもしれませんが、やり方がわかれば簡単です。その方法を教えてください。通常、W3 Total Cacheは/path/to/wordpress/installationにnginx.confという名前のファイルを作成します。だから、あなたのNginxのバーチャルホストはこんな感じになるでしょう...

 server {
 server_name domain.com; 
 root /path/to/wordpress/installation; 
 index index.php; 
 [.____ 
#W3 Total Cache設定はここに含まれるべきです[#。]#そうでなければ、W3TCは機能せず、
 include $ document_root/nginx.conf; 
 
 [[...]#location〜\ .php $ {} block 
#location\{} block 
} 
 ]

(WordPressバックエンド経由で)W3 Total Cache設定で何かを変更するときはいつでも、Nginxサーバーをnginx -t && service nginx reloadのようにリロードしなければなりません。変更を有効にするため)それで、それをセットアップしてそれを忘れることが推奨されます。 W3TCのページキャッシュはNginxで動作します。

すみません、私はあなたの元々の懸念に答えることができませんでした(PHPコードはCache [Memcached]で立ち往生)

3
Pothi Kalimuthu

まず第一に、これはWordPressの問題ではありません - それはMemcacheの問題です - そして、オープンバウンティのためでなければ、私は話題外としてそれを閉じたいと思います。

秒、あなたの問題がMemcacheが古いコンテンツを提供することにあるなら、それはあなたが Memcacheをフラッシュする必要があるように聞こえます

2
EAMann