🍍
Laravel11 downコマンド/upコマンド
この記事は Laravel11にあるartisanコマンドを全部調べる Advent Calendar 2024 8日目の記事です。
今回はdownコマンド/upコマンドについて調べました。
環境
- PHP 8.4.1
- laravel/laravel 11.3.3
- laravel/framework 11.33.2
down
メンテナンスモードにする。
php artisan down
実行するとメンテナンスモードに切り替わります。
この状態でWebページにアクセスすると503エラーの画面が表示します。
オプション | 説明 |
---|---|
--redirect[=REDIRECT] |
リダイレクトするパスを指定 |
--render[=RENDER] |
メンテナンスモード中に表示するビューを指定 |
--retry[=RETRY] |
HTTPヘッダのRetry-Afterの秒数を指定 |
--refresh[=REFRESH] |
HTTPヘッダのRefreshの秒数を指定 |
--secret[=SECRET] |
メンテナンスモードをパイパスする秘密のフレーズを指定 |
--with-secret |
メンテナンスモードをパイパスする秘密のフレーズを生成 |
--status[=STATUS] |
メンテナンスモード中のステータスコードを指定 |
-
--redirect
を使うと指定のURLにリダイレクトさせることができる
php artisan down --redirect=/hoge
- リダイレクト先が同一サイト内であればメンテナンスモードの対象から除外しておく必要がある
bootstrap/app.php
->withMiddleware(function (Middleware $middleware) {
$middleware->preventRequestsDuringMaintenance(['/hoge']);
})
-
--render
を使うと任意のビューを指定できる
php artisan down --render=errors::404
-
--retry
を使うとHTTPヘッダのRetry-Afterに指定した値を設定できます- この設定はクローラーに再クロールするまでの時間を指定します
-
--refresh
を使うと指定した秒数後にブラウザがリロードします -
--secret
を使うとメンテナンスモードをバイパスできるようにするための秘密のフレーズを指定できます
advent-calendar-2024 % php artisan down --secret=123abc
INFO Application is now in maintenance mode.
INFO You may bypass maintenance mode via [http://localhost/123abc].
-
この秘密のフレーズをつけた状態でアクセスするとメンテナンスモードバイパスクッキーが発行し、
/
にリダイレクトします
以降はメンテナンスモードではない状態でアクセスができます -
--with-secret
は--secret
とは違いLaravelが秘密のフレーズを生成します
advent-calendar-2024 % php artisan down --with-secret
INFO Application is now in maintenance mode.
INFO You may bypass maintenance mode via [http://localhost/O8r42p7Ko6tJg0bB].
-
--status
はメンテナンスモード時のHTTPステータスコードを指定できます(デフォルトは503)
up
メンテナンスモードを解除する。
php artisan up
実行するとメンテナンスモードを解除します。
Discussion