UIを反映するためにキャッシュをクリアする
CakePHP3 で開発を行っているとき、プログラムやテンプレートファイル、CSSなどを更新したはずなのに反映されないときがあります。CakePHP のキャッシュが残っているのが原因のため、キャッシュをクリアする方法をご紹介します。
キャッシュを削除するコマンド
CakePHP の階層にて、cache コマンドを実行することによって、一時フォルダにあるキャッシュファイルを削除することができます。
なお cache コマンドは CakePHP のバージョン 3.3.0 で追加されています。
〇CakePHP 公式の cache コマンドの解説ページ
https://book.cakephp.org/3.0/ja/console-and-shells/cache.html
cache コマンドを実行したサンプル
1 2 3 4 5 6 7 |
[dev@hostname]:~/cakephp$ bin/cake cache clear_all Cleared memcached cache Cleared default cache Cleared _cake_core_ cache Cleared _cake_model_ cache Cleared _cake_routes_ cache [dev@hostname]:~/cakephp$ |
cache コマンドが実行できないとき
1 2 |
[dev@hostname]:~/cakephp$ bin/cake cache clear_all bash: bin/cake: Permission denied |
cache はシェルコマンドであるため、実行権限がないとパーミッションエラーが発生します。パーミッションエラーが発生したときは、「bin/cake」ファイルに実行権限を付与してください。
今回はパーミッションを「664」→「700」に変更しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[dev@hostname]:~/cakephp/bin$ ls -la total 20 drwxr-xr-x 2 dev dev 4096 Apr 1 19:50 . drwxr-xr-x 15 dev dev 4096 Apr 1 21:44 .. -rw-rw-r-- 1 dev dev 2078 Apr 1 19:50 cake -rw-rw-r-- 1 dev dev 862 Apr 1 19:50 cake.bat -rw-rw-r-- 1 dev dev 393 Apr 1 19:50 cake.php [dev@hostname]:~/cakephp/bin$ chmod 700 cake [dev@hostname]:~/cakephp/bin$ ls -la total 20 drwxr-xr-x 2 dev dev 4096 Apr 1 19:50 . drwxr-xr-x 15 dev dev 4096 Apr 1 21:44 .. -rwx------ 1 dev dev 2078 Apr 1 22:10 cake -rw-rw-r-- 1 dev dev 862 Apr 1 19:50 cake.bat -rw-rw-r-- 1 dev dev 393 Apr 1 19:50 cake.php |