はじめに
業務でLaravelを触っていて、キャッシュ削除を頻繫におこなっていたのですが、php artisan の「○○:clear」系コマンドはいくつか種類があることを知り、どのようなものがあるのか、メモがてらまとめてみました。
利用できるコマンドは Laravel のバージョンやインストールされているパッケージによって変わります。
環境に存在する :clear コマンドは適宜確認してください。
よく使う :clear コマンド
-
php artisan cache:clear- アプリケーションキャッシュ(
Cacheファサードで保存したキャッシュ)を削除する。
- アプリケーションキャッシュ(
-
php artisan config:clear- 設定のキャッシュ(
php artisan config:cacheによって生成されるキャッシュ)を削除する。
- 設定のキャッシュ(
-
php artisan route:clear- ルートキャッシュ(
php artisan route:cache)を削除する。
- ルートキャッシュ(
-
php artisan view:clear- コンパイル済み Blade ビュー(
storage/framework/views)を削除する。
- コンパイル済み Blade ビュー(
-
php artisan optimize:clear- 最適化関連のキャッシュをまとめて削除する(キャッシュ、compiled ファイルなど)。Laravel のバージョンで挙動が多少異なる場合があるので注意。
その他に Laravel コアで通常存在する :clear コマンド
Laravel のコア(フレームワーク本体)で含まれていることが多い :clear 系コマンドの一覧です。
バージョンや環境で差が出るため、あくまで「通常見られる」代表例です。
-
php artisan clear-compiled- (古いバージョンでの)コンパイル済みファイルを削除する。
-
php artisan event:clear- イベントキャッシュ(
event:cacheで作成されたもの)を削除する。
- イベントキャッシュ(
-
php artisan auth:clear-resets- パスワードリセットの期限切れトークン等をクリーンアップします。
※ ここに挙げた以外にも、Scout / Passport / Telescope などのサードパーティパッケージや社内パッケージが *:clear や something:clear 系のコマンドを追加することがありますので、適宜環境で確認を。
よく使う組合せ(例)
デプロイ前やトラブルシュート時に一気に主要なキャッシュを消したいとき(PowerShell)
php artisan config:clear; php artisan cache:clear; php artisan route:clear; php artisan view:clear; php artisan optimize:clear
最後に
自分の業務だと、ローカル環境ではMakefileで一括で行うようにしていますが、本番環境のサーバー内などでは行えないので、きちんと覚えておかないとな、と思いました。
このまとめが誰かの助けになれば幸いです。