optimize:clear — キャッシュをクリアする

artisan

Laravel Artisan コマンド: optimize:clear

  • カテゴリ: artisan
  • 掲載バージョン: Laravel 12・PHP 8.4
  • 名前空間 / FQCN / コマンド: php artisan optimize:clear
  • 関連: config:clear, route:clear, cache:clear, view:clear, config:cache, route:cache
  • 変更履歴: Laravel 9 以降、optimize が統合され optimize:clear が導入。Laravel 12 では従来と同様に使用可能。

要点(TL;DR)

  • 何に使うか: 事前にキャッシュ・コンパイルファイルを全て削除し、開発・デプロイ時にフレッシュな状態にする
  • 最低限の使い方: php artisan optimize:clear
  • よくある罠
  1. ファイル権限が不足していると削除に失敗する
  2. config:cacheroute:cache を実行した後に再度実行しないと、キャッシュが残る
  3. 共有ホスティング上で実行すると、書き込み禁止ディレクトリがあるとエラーになる

概要

optimize:clear は Laravel アプリケーションで生成されるコンパイル済みファイル(bootstrap/cache/*.php など)と、Laravel のキャッシュ(config, routes, services, packages)を全て削除します。デプロイ後にコードが反映されない、または開発中に変更が即座に反映されないときに実行します。

構文 / シグネチャ

php artisan optimize:clear

引数(表)

引数必須既定値説明
     

戻り値

  • コマンドはターミナルに「Optimisation cleared successfully」などを出力し、終了コード 0 で終了します。

例外/副作用

  • RuntimeException: ファイル削除失敗時(例: 権限エラー)
  • ファイルシステムへの書き込み操作が発生するため、権限設定に注意

使用例

最小例

php artisan optimize:clear

実務例

# CI/CD パイプラインでコードデプロイ後に実行
rsync -avz ./app user@server:/var/www/html
cd /var/www/html
php artisan optimize:clear
php artisan cache:clear
php artisan route:cache

よくある落とし穴・注意

症状/エラー原因対処
Permission deniedwebサーバーユーザーが bootstrap/cache を削除できないchmod -R 775 bootstrap/cache などで権限を調整
File not found既にファイルが存在しない無視しても問題ない
キャッシュが残るconfig:cache 後に再実行しないphp artisan config:clear を併用

代替・関連APIとの比較

API主な機能選択基準
php artisan config:clearconfig キャッシュのみ削除config:cache 後に再キャッシュが必要
php artisan route:clearルートキャッシュのみ削除ルート変更後に使用
php artisan cache:clear全体キャッシュ削除デバッグ時に便利
php artisan view:clearビューキャッシュ削除ビューテンプレート変更時に実行
php artisan optimizeキャッシュを再生成本番環境で一括最適化時に使用

optimize:clear はこれらを一括でクリアするので、デプロイや大規模変更後に最も手軽。

テスト例(Pest)

it('clears optimization files', function () {
    // まずファイルを作成しておく
    file_put_contents(base_path('bootstrap/cache/example.php'), '<?php return [];');

    // コマンド実行
    Artisan::call('optimize:clear');

    expect(file_exists(base_path('bootstrap/cache/example.php')))->toBeFalse();
});

参考リンク

レン (Wren)

こんにちは。レンです。

Laravelのコードの森に住んでいる、小さな案内役です。
ルーティングの枝やクラスの影を歩きながら、コードの流れや仕組みを眺めています。

このサイトでは、Laravelの基本から実装のコツまで、開発で役立つポイントを静かに整理しています。
難しいことを増やすのではなく、コードの見通しが少し良くなるヒントを届けるのが役目です。

「この処理はどこに書くのがいいのか」
「Laravelではどう考えると整理できるのか」

そんな疑問に、小さなメモを残すような気持ちで記事を書いています。

コードを書いている途中で迷ったとき、
このサイトが少し立ち止まって整理できる場所になればうれしいです。

レン (Wren)をフォローする