
ウェブサイトに小さな変更を加えてアップロードすると、その変更が反映されるまでに通常数分かかります。Google Compute Engine を通じて新しい Debian システムをインストールしてから、この現象が発生し始めました。
キャッシュしているコードがある可能性は排除しましたが、PHP 5.5.28 または Debian がファイルをキャッシュしている可能性はありますか? また、ブラウザが原因ではないことを確認し、開発者ツールでファイルをキャッシュしないように Chrome オプションを使用しました。
答え1
PHP 5.5.28を使用していますが、私の経験では、PHP 5.3または5.4からPHP 5.5に移行する人は、新しい組み込みのOPcache (オペレーションキャッシュ)デフォルトで有効になっています。
これまでにAPC (代替 PHP キャッシュ)新しく組み込まれた OPcache は、ほぼ同じように動作し、複雑なコードの運用目的には適していますが、ファイルをアップロードして変更をすぐに表示することに慣れている場合は、デフォルトで有効になっていることが問題になる可能性があります。
このサイトは良い仕事をしているOPcacheとは何か、そしてそれをどう調整するかを説明するのはここまでです。しかし、OPcacheがまだ必要ない場合は、PHP iniファイルを次のように開いてください。私は次のようにすることを好みます。nano
ただし、好きなテキスト エディターを自由に使用してください。
sudo nano /etc/php5/apache2/php.ini
次の行を探します:
opcache.enable=1
そして、その行を次のように変更して無効にします。
;opcache.enable=0
Apacheを再起動すると、PHP 5.5はOPcacheを使用しなくなります。そして、正直なところ、そのようなキャッシュを有効にするには、システム管理者の判断と、コードの動作とサーバーの反応に関する知識が必要です。
PHP ベースのサイトが十分に軽量である場合、OPcache は過剰で、実際には必要なく、邪魔になる可能性もあります。
しかし、OPcacheが必要で、PHPファイルを定期的に更新する必要がある場合は、OPcacheの設定値を調整すると役立つでしょうデフォルトの設定は次のようになります。
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
この構成で予想されるアップデートを妨げる可能性がある重要な点は、opcache.revalidate_freq
:
スクリプトのタイムスタンプを更新の有無をチェックする頻度(秒単位)。0 の場合、OPcache はリクエストごとに更新をチェックします。
デフォルトの 60 秒は問題ありませんが、opcache.revalidate_freq
5 秒程度に短縮すると、OPcache のメリットを有効にしつつ、単純なファイル更新でつまずかないように適切な更新チェック ウィンドウを確保できるという点で、より良い方法になると思われます。