Laravel は内部のキャッシュを強く残す性質があるので、Apacheを再起動しても修正したプログラムが反映してくれないことがよくあります。
そんなときは、Artisanコマンドのキャッシュクリア系や最適化のコマンドを実行します。
Artisanコマンドのキャッシュクリア系のコマンドや最適化のコマンドはいろいろあるのですが、今回はそれをまとめてみました。
コマンド早見表
設定ファイルのキャッシュを作成
そうしないと変更した設定情報が反映されません。
設定ファイルのキャッシュをクリア
アプリケーションのキャッシュをクリア
ビューのキャッシュをクリア
/storage/framework/views の中のファイルをクリアにします。
ルートのキャッシュを作成
ルートキャッシュを作り直します。
routes.phpファイルを編集したら実行するといいです。
routes.php にクロージャを書いている場合はエラーになります。
ルートのキャッシュをクリア
キーの作り直し
.env ファイルにある APP_KEY を作り直します。
新しくキーを作り直して、完全に前のキャッシュを無効にすることができます。
autoloadを自動で生成
git pull で大きな変更があった場合は実行するといいです。
ユースケース
Laravel の開発時に pull したりすると動かないときがあります。
そんなときはキャッシュを消したり、最適化してやります。
新しく追加したクラスが登録されていないことがあるからです。
以下のようなユースケースに遭遇した場合の手順を紹介します。
Laravel を本番環境にデプロイするときの手順
git pull でデータを取得したあとの手順です。.env ファイルの設定も終わっているとします。
1)composer.lock の内容でパッケージのインストール
composer install は内部で以下のコマンドが実行されます。
- composer dump-autoload
- php artisan clear-compiled
- php artisan optimize
2)configディレクトリ以下の設定ファイルのキャッシュを作成
3)ルーティング定義のキャッシュを作成
最適化・高速化の手順
最適化・高速化のやり方ですが、基本は composer install で実行されるコマンドを手動で実行する考えです。
全てのキャッシュをクリアにする
1)設定ファイルとルートのキャッシュを作成
2)ビューとアプリケーションのキャッシュをクリア
上記のコマンドを実行しても動かない場合はロジックを疑ったほうがいいかもしれません。
キャッシュのクリア系・最適化については以上です。

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。