// turn on with bypass secret
php artisan down --secret="1630542a-246b-4b66-afa1-dd72a4c43515"
// turn off
php artisan up
# To enable maintenance mode:
php artisan down
# To disable maintenance mode:
php artisan up
# if you want client to refresh
# page after specified number of seconds
php artisan down --retry=60
# Even while in maintenance mode, you may use the secret option to specify a maintenance mode bypass token
php artisan down --secret="1630542a-246b-4b66-afa1-dd72a4c43515"
# Once you inform down command with secret provided as an argument you can hit following url to set cookie that will let you bypass maintenance mode on your browser using following url:
https://<your-site-name>/1630542a-246b-4b66-afa1-dd72a4c43515
# You can inform laravel to render specific view when running maintenance mode
{{view path: resources/views/maintenance.blade.php}}
php artisan down --render="maintenance"
# Sometime you may wish all your visitor not to access any of your webpages other than homepage during the maintenance mode. In that case you can redirect all of your web request to specified url
php artisan down --redirect=/
# If you want specific route to escape from maintenence mode you could add your route to
app/http/middleware/CheckForMaintenanceMode.php
protected $except = [
//here
];
# when you run artisan down. site is not available so when try to call up, your IP can't access site. you must call down with your IP exception.
php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16
or add ::1 to local.
# In order to make your site live again using an url, you can create a live.php file which you put in laravel's public folder and then visit http://your.domain/live.php .
# In the live.php file you need something like this: (check your projects directory structure if you don't use the default public folder!)
unlink(dirname(__FILE__) . "/../storage/framework/down");
header("Location: your.domain");
die;
# If you would like the Refresh HTTP header to be sent with all maintenance mode responses
php artisan down --refresh=15
# Laravel allows you to pre-render a maintenance mode view that will be returned at the very beginning of the request cycle. This view is rendered before any of your application's dependencies have loaded
php artisan down --render="errors::503"
php artisan down
<?php namespace AppHttpMiddleware;
use Closure;
use IlluminateContractsFoundationApplication;
use IlluminateHttpRequest;
use IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode as MaintenanceMode;
class CheckForMaintenanceMode {
protected $app;
public function __construct(Application $app)
{
$this->app = $app;
}
public function handle(Request $request, Closure $next)
{
if ($this->app->isDownForMaintenance() &&
!in_array($request->getClientIp(), ['8.8.8.8', '8.8.4.4']))
{
$maintenanceMode = new MaintenanceMode($this->app);
return $maintenanceMode->handle($request, $next);
}
return $next($request);
}
}