artisanコマンド
キャッシュ削除
php artisan optimize:clear
で以下のコマンドが全て実行されます。
(パスは初期設定状態で削除されるファイル)
-
php artisan clear-compiled
bootstrap/cache/services.php
bootstrap/cache/packages.php -
php artisan config:clear
bootstrap/cache/config.php -
php artisan route:clear
bootstrap/cache/routes.php -
php artisan view:clear
storage/framework/views -
php artisan cache:clear
storage/framework/cache/data
キャッシュ生成
php artisan optimize
で以下のコマンドが実行されます。
php artisan config:cache
php artisan route:cache
以下は実行されないので、個別に実行します。
php artisan view:cache
また、route:cache
はクロージャでルーティング指定しているとキャッシュファイル生成に失敗します。生成できないだけなのでアプリが動作しなくなる等の害はありません。
// キャッシュファイルを生成できない
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
composerコマンド
composer dump-autoload
autoloadを作り直します。
composer dump-autoload --optimize(-o)
デプロイするときは-oオプションをつけると、高速化します。
[おまけ] Laravel Envoyでひとまとめにする
Laravel Envoyはコマンドをまとめて実行できるタスクランナーです。Envoy.blade.phpでタスクを設定します。
例えば以下のように設定して
@servers(['localhost' => '127.0.0.1'])
@task('refresh-cache', ['on' => 'localhost'])
php artisan optimize:clear
php artisan optimize
php artisan view:cache
composer dump-autoload --optimize
@endtask
以下のコマンドで
$ envoy run refresh-cache
接続先サーバーでタスクが実行されます。(上記例ではローカル)
ドキュメントには複数サーバでタスク実行するなど色々な設定方法が書いてありますのでご覧ください。