環境構築

Artisanコマンド(キャッシュクリア系・最適化)まとめ

Laravel は内部のキャッシュを強く残す性質があるので、Apacheを再起動しても修正したプログラムが反映してくれないことがよくあります。

そんなときは、Artisanコマンドのキャッシュクリア系や最適化のコマンドを実行します。

Artisanコマンドのキャッシュクリア系のコマンドや最適化のコマンドはいろいろあるのですが、今回はそれをまとめてみました。

 

コマンド早見表

設定ファイルのキャッシュを作成

 
 php artisan config:cache
 
チェック.env や config/*.php のファイルを編集したら実行します。
そうしないと変更した設定情報が反映されません。

 
設定ファイルのキャッシュをクリア

 
 php artisan config:clear
 

 
アプリケーションのキャッシュをクリア

 
 php artisan cache:clear
 

 
ビューのキャッシュをクリア

 
 php artisan view:clear
 
チェックBladeのキャッシュを削除するコマンドです。
/storage/framework/views の中のファイルをクリアにします。

 
ルートのキャッシュを作成

ルートキャッシュを作り直します。

 
 php artisan route:cache
 
チェックroute の数が大きいプロジェクトではパフォーマンスの改善に期待できる仕組みです。
routes.phpファイルを編集したら実行するといいです。
チェック
routes.php にクロージャを書いている場合はエラーになります。

 
ルートのキャッシュをクリア

 
 php artisan route:clear
 

 
キーの作り直し

.env ファイルにある APP_KEY を作り直します。

新しくキーを作り直して、完全に前のキャッシュを無効にすることができます。

 
 php artisan key:generate
 

 
autoloadを自動で生成

 
 composer dump-autoload
 
チェック新たなクラス定義やファイル定義を行うたびに実行します。
git pull で大きな変更があった場合は実行するといいです。

 

ユースケース

Laravel の開発時に pull したりすると動かないときがあります。

そんなときはキャッシュを消したり、最適化してやります。

新しく追加したクラスが登録されていないことがあるからです。

以下のようなユースケースに遭遇した場合の手順を紹介します。

 

Laravel を本番環境にデプロイするときの手順

git pull でデータを取得したあとの手順です。.env ファイルの設定も終わっているとします。

1)composer.lock の内容でパッケージのインストール

 
 $ composer install
 

composer install は内部で以下のコマンドが実行されます。

  • composer dump-autoload
  • php artisan clear-compiled
  • php artisan optimize

2)configディレクトリ以下の設定ファイルのキャッシュを作成

 
 $ php artisan config:cache
 

3)ルーティング定義のキャッシュを作成

 
 $ php artisan route:cache
 

 

最適化・高速化の手順

最適化・高速化のやり方ですが、基本は composer install で実行されるコマンドを手動で実行する考えです。


$ php composer.phar dump-autoload

$ php artisan clear-compiled

$ php artisan optimize
 

 

全てのキャッシュをクリアにする

1)設定ファイルとルートのキャッシュを作成
2)ビューとアプリケーションのキャッシュをクリア

 
$ php artisan config:cache

$ php artisan route:cache

$ php artisan view:clear

$ php artisan cache:clear
 

上記のコマンドを実行しても動かない場合はロジックを疑ったほうがいいかもしれません。

キャッシュのクリア系・最適化については以上です。

 

-環境構築