Laravel メンテ中にする
作成日:2019-03-26, 更新日:2019-03-26
基本
・「app\Http\Kernel.php」内にある「\App\Http\Middleware\CheckForMaintenanceMode::class」を確認
・コマンドラインで「php artisan down」でメンテ中
・コマンドラインで「php artisan up」でメンテ解除
これが出来る人たちって・・・環境を好き勝手できる人なんだろうなぁ・・・。
「php artisan 〇〇〇」がNGな人
・「storage\framework」に空のファイルを追加(※ファイル名は拡張子無しの「down」)
・メンテが終われば「storage\framework\down」を削除
特定のIPだけ許可 / 拒否
・「\App\Http\Middleware\CheckForMaintenanceMode::class」を元にゴニョゴニョすればいいらしい。
・・・未調査
ルーティングでメンテ中にする
▼routes/app.php
<?php
if ( 好きな条件 ) {
abort(503);
}
以下、通常のルーティングの設定
503を自作したい
・「resources\views\errors」に「503.blade.php」で作成。
特定のページだけ「メンテ中」or その逆
例えば
・「http://localhost/laravel-test/」というサイトで
・「http://localhost/laravel-test/zebra/hello」のページだけメンテ中にしたい
▼routes/app.php
<?php
if ( 条件:対象時間内 ) {
if ( \Request::path() == 'zebra/hello' ) {
abort(503);
}
}
以下、通常のルーティングの設定
※「zebra/hello」以外なら「==」を「!=」にすればいい。
※「strpos()」とかで条件を指定するのも良さそう。