52
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Laravel 5.7] キャッシュ系コマンドまとめ

Last updated at Posted at 2018-11-14

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でタスクを設定します。

例えば以下のように設定して

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

接続先サーバーでタスクが実行されます。(上記例ではローカル)

ドキュメントには複数サーバでタスク実行するなど色々な設定方法が書いてありますのでご覧ください。

52
53
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
52
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?