Codeworks Notes

 2021-12-03

 2021-12-15

Webのメモ

PHP ファイルのキャッシュを捨てたい

キャッシュが残る問題で困っているとき最初にやることはサーバー設定でサーバーキャッシュ機能が有効になっているかどうかです。有効になっていれば無効にすれば解決です。

理由はどうあれそもそもの設定変更ができない状況では、サーバー側で設定されたファイルのキャッシュ時間はおおむね60秒です。普段の運用時は問題なくても CSS を爆書きしてる時のように数秒単位で頻繁にファイルの更新を行う場合には、自動更新に間に合わずキャッシュを捨てて新たな結果を表示するのに 1 分待たないと読んでくれない、という状況になります。

たとえば CSS や JS ファイルをキャッシュバスティングしているとき、クエリ文字列は PHP 側に書かれるので PHP のキャッシュが残っていると CSS や JS が更新されないわけです。1 分待たないと。

なので、開発時だけでも「PHPをキャッシュしない」という方法を取ればよくて、.htaccess に以下の設定を書くだけで簡単に済みます。

<Files ~ "\.(php)$">
Header add Pragma "no-cache"
Header set Cache-Control no-cache
</Files>