Documents
Laravelのキャッシュの削除と最適化コマンド
Laravelの開発・運用で大切なコマンドたちです。設定がうまく反映されてないとか想定と違う動きをするとかそういうとき、本番デプロイ時など実行します。キャッシュの削除、オプティマイズ、キャッシュの再生成などです。
キャッシュクリア系
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
cache:clear
はキャッシュ全般を対象に削除、config:clear
は.envなどに設定したもの、それを読み込んだapp.confgなどの設定パラメータキャッシュの削除、route:clear
はroutes.phpで設定されたアクセスパスとコントローラーの紐付け部分のキャッシュ削除、view:clear
はbladeなどのテンプレート関連のキャッシュ削除になります。APIのみで運用しているときなかはview:clear
は不要になります。
開発中にはちょくちょく実行するコマンドになります。
コンパイル・最適化・キャッシュ生成
主に本番デプロイ時やある程度システムが完成した際にテストする前などに行うものです。また新たなクラス定義やファイル定義を行うたびに実行します。
composer dump-autoload
php artisan clear-compiled
php artisan optimize
php artisan config:cache
composer dump-autoload
autoloadを自動で生成してくれるコマンドです。以下のファイルが生成されるようです。
autoload_classmap.php
autoload_files.php
autoload_namespaces.php
autoload_psr4.php
autoload_real.php
composer installでパッケージインストールと同時に実行されます。
artisan clear-compiled
以下2つのファイルを削除します。
/bootstrap/cache/services.json
/bootstrap/cache/compiled.php
artisan optimize
の中身はcomposer dump-autoload --optimize
の実行になってます。フレームワークのコードを結合して一つのファイルに纏める作業をしているようです。(/bootstrap/cache/compiled.php
)
/config/compile.php の files
ブロックににキャッシュ対象のクラスを書けば一緒に結合されるようです。最新のLaravelではあんまり意味がなさそうですが。
php artisan optimize
は削除され予定という噂を聞きましたが、実行しているみるとエラーにはなりませんのでまだ使い続けてもよさそう。
https://readouble.com/laravel/5.5/ja/upgrade.html
開発時のコマンドとデプロイ時のコマンド
とりあえず全部やっておけば問題なさそうですが、結構な時間がかかってしまうので、ちょこちょこ用途に分けて使い分けた方がよいかもしれないです。まとめてやっちゃう場合は以下のコマンドをばbashとかで実行するのがよさそう。
composer update;
php artisan clear-compiled;
php artisan cache:clear;
php artisan view:clear;
php artisan route:clear;
php artisan config:clear;
composer dump-autoload;
php artisan clear-compiled;
php artisan optimize;
php artisan config:cache;