“Режим обслуживания Ларавела” Ответ

Режим обслуживания Ларавела

# 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"
Irfan

Режим технического обслуживания Laravel Custom Class

<?php namespace App\Http\Middleware;

use Closure;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Http\Request;
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode 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);
    }

}
Tense Tuatara

Ответы похожие на “Режим обслуживания Ларавела”

Вопросы похожие на “Режим обслуживания Ларавела”

Больше похожих ответов на “Режим обслуживания Ларавела” по PHP

Смотреть популярные ответы по языку

Смотреть другие языки программирования