Put your application down and browse in dev mode.
- Install package through composer
composer require mahmud/maintenance-modeOr add dependency to composer.json file
{
"require": {
"mahmud/maintenance-mode": "^1.0"
}
}- Add Service Provider to
providersarray 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_STATUSandUP_TIMEto your.envfile
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_TIMEhas 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
