PHPコードを変更したのに反映されない場合の対処方法

PHPコードを変更したのに反映されない

PHPのバージョンUP後、ソース書き換え後にブラウザの更新をしても
変更が反映されない。というトラブルが発生した。

トラブル時の構成

変更前のバージョン PHP5.3→ 変更後 PHP7.2
サーバーの環境は、KAGOYAの専用レンタルサーバー
変更時に使えなくなるコード等、(将来的に廃止されるコード)使用していたため
エラー出てから対処しようと思っていたが、いざwarning見て更新しても反映しない
1分くらい放置すると反映するが、これでは思った以上に作業できないため対処方法を探した。

5.3以前に使えていた方法 クエリを追加する

実は、PHPのバージョンを上げる前にもキャッシュの機能によって 変更が反映されない場合があったが
下記ににて対処できていた

URLの最後に [?a=]等クエリを適当につけて再読込をさせるとキャッシュが無効にできていた。
バージョン変更後はこの方法は使えなかった。

 

PHP CONFIG でキャッシュを無効に

自宅のサーバーや 、仮想環境での実行が可能なサーバーであれば
PHPのCONFIG自体をキャッシュなしに変更して常に最新の状態にすることができる。
ただし、レンタルサーバーの場合PHPのバージョン変更自体ができない場合や、
CONFIGの設定自体も限定的にしか変更できない場合がほとんど、
キャッシュを無効にすること自体サーバー負荷が上がるため KAGOYAのコンソール上でも
変更項目を見つけることができなかった。

解決方法

というわけで、 PHPのファイル自体にキャッシュの無効化を記入することにした。
文字コードの指定に続いて キャッシュの無効を宣言する。ファイルの最初に書いておく

 

これで、 F5更新時常にキャッシュされずに変更が反映される様になった。

 

あとがき

キャッシュの機能を無効にした場合、毎回PHPは処理を行うので負荷が上がる。
今回の方法は、ファイルごとに設定しているため書き換え完了後は、キャッシュを有効にしておくといい。

koo

Java,PHP,Ruby,android,ios,C#,C++,python,vba,unity,sqlなんでも手を出しては挫折する系。電子工作はじめました。

あわせて読みたい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です