Put your application down and browse in dev mode.
- Install package through composer
composer require mahmud/maintenance-mode
Or add dependency to composer.json
file
{
"require": {
"mahmud/maintenance-mode": "^1.0"
}
}
- Add Service Provider to
providers
array inconfig/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
andUP_TIME
to your.env
file
APP_STATUS=down
UP_TIME='2017-05-19 23:30:15'
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'
.
UP_TIME
has no effect whenAPP_STATUS=up
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
http://your-site.com?mode=dev
Once you browse like this you can browse for the next few minutes specified in cookie_exp_min
To change configuration go to config/maintenance-mode.php
. Available configurations are listed below.
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.
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.
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.
This status code will be send with the header when you app is down.
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:
[
'error' => 'Application is down for maintenance'
]
This view is returned when your application is down. You can set a custom view by specifying the view path here. i.e.
[
'view' => 'public.errors.custom_view'
]
when you view path is resources/views/public/errors.custom_view.blade.php