📃
Laravelでメンテナンスモードを試してみた
はじめに
Laravelではメンテナンスモードがあり、Artisanコマンドで簡単に切り替えることができます
ここでは、メンテナンスモードの切替についてまとめました
環境
Laravel 9で確認していますが、8でも同様にメンテナンスモードの切り替えができます
$ php -v
PHP 8.1.8 (cli) (built: Jul 8 2022 10:58:31) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.8, Copyright (c) Zend Technologies
with Zend OPcache v8.1.8, Copyright (c), by Zend Technologies
$ composer -V
Composer version 2.3.10 2022-07-13 15:48:23
$ php artisan -V
Laravel Framework 9.21.3
メンテナンスモードに切り替える
以下のコマンドでメンテナンスモードに切り替わります
$ php artisan down
INFO Application is now in maintenance mode.
メンテナンスモードを解除する
以下のコマンドでメンテナンスモードを解除できます
$ php artisan up
INFO Application is now live.
メンテナンスモード時に設定できるオプションと挙動
リフレッシュさせる
RefreshのHTTPヘッダーの指定ができます
以下のコマンドの場合、5秒間で表示しているブラウザがリフレッシュされます。
$ php artisan down --refresh=5
INFO Application is now in maintenance mode.
バイパスさせる
メンテナンスモード中に通常のページを確認したい場合に利用できます
http://hogehoge.co.jp/testtest
にアクセスすれば、Cookieにバイパスの設定が追加され、アクセス後はメンテナンス画面は表示されなくなります。
もとに戻したい場合は ブラウザに保存されている Cookieで name が laravel_maintenance
を削除すればメンテナンスモードになります
$ php artisan down --secret="testtest"
INFO Application is now in maintenance mode.
メンテナンス用のビューをレンダリングする
errorsを指定していますが、任意のビューの指定もできます
$ php artisan down --render="errors::503"
INFO Application is now in maintenance mode.
メンテナンスページにリダイレクトする
--redirect
でURLを指定すると、リダイレクトさせることができます
$ php artisan down --redirect=/maintenance
INFO Application is now in maintenance mode.
Discussion