Laravel Maintenance Mode
, (*1)
Put your application down and browse in dev mode., (*2)
, (*3)
Installation
- Install package through composer
composer require mahmud/maintenance-mode
Or add dependency to composer.json
file, (*4)
{
"require": {
"mahmud/maintenance-mode": "^1.0"
}
}
- Add Service Provider to
providers
array in config/app.php
'providers' => [
\Mahmud\MaintenanceMode\MaintenanceModeServiceProvider::class,
]
- Add the following Middleware in middleware array in app/Http/Kernel.php
protected $middleware = [
\Mahmud\MaintenanceMode\Middleware\MaintenanceModeMiddleware::class,
];
- Publish resources by this command
php artisan vendor:publish --tag=maintenance-mode --force
- Add
APP_STATUS
and UP_TIME
to your .env
file
APP_STATUS=down
UP_TIME='2017-05-19 23:30:15'
Usage
.env
Set APP_STATUS
in your .env
file. Possible values are up
and down
.
Set app status to down
when you want to go for maintenance. And Also set UP_TIME
when your application will be up.
UP_TIME
format is 'YYYY-MM-DD hh:mm:ss'
., (*5)
UP_TIME
has no effect when APP_STATUS=up
, (*6)
Dev Mode
You can access you app when it is in maintenance mode. To access you must visit your site with query param mode=dev
The URL will be, (*7)
http://your-site.com?mode=dev
Once you browse like this you can browse for the next few minutes specified in cookie_exp_min, (*8)
Configuration
To change configuration go to config/maintenance-mode.php
. Available configurations are listed below., (*9)
app_status
This is the status of your app. Possible value are: down
| up
. When you start maintenance work, you should set the status to down
. You can also set the status from .env file. Just set APP_STATUS=down
in your environment., (*10)
up_time
You should set time when your application will be up. You can set up time from .env
file by setting UP_TIME='YYYY-MM-DD hh:mm:ss'
in this format., (*11)
cookie_exp_min
Dev mode will be expired after specified minutes. After being expired user should visit the site with mode=dev query param to start dev session again., (*12)
down_status_code
This status code will be send with the header when you app is down., (*13)
app_down_msg
This message will be sent as a response when client sent AJAX request to the app. Response will be in JSON format where key is error
and value is the message. For example:, (*14)
[
'error' => 'Application is down for maintenance'
]
view
This view is returned when your application is down. You can set a custom view by specifying the view path here. i.e., (*15)
[
'view' => 'public.errors.custom_view'
]
when you view path is resources/views/public/errors.custom_view.blade.php
, (*16)