new-japan-orders/maintenance

dev-master 2018-05-15 07:39 UTC

This package is not auto-updated.

Last update: 2024-09-29 04:43:20 UTC


README

Laravel 标准的维护模式通过检查文件(down 文件)是否存在来确认是否在维护模式。由于此文件保存在本地存储中,所以在使用负载均衡器等进行负载均衡的情况下,需要在所有运行的服务器上执行 php artisan down,这可能很麻烦(可能)。

为了解决这个问题,我通过将维护信息保存到数据库中,使可以汇总运行中的服务器并将它们转移到维护模式。

此外,还添加了类似预定维护的功能。维护的结束只能是手动。

用法

安装方法

composer require new-japan-orders/maintenance
php artisan migrate

app/Http/Kernel.php

    protected $middleware = [ 
        /// コメントアウト
        /// \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,

        /// 追加
        \NewJapanOrders\Maintenance\CheckForMaintenanceMode::class,

        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
        \App\Http\Middleware\TrimStrings::class,
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
        \App\Http\Middleware\TrustProxies::class,
    ];  

如果您只想将管理功能排除在维护之外,建议使用中间件组。

访问

请访问 {domain}/maintenances/ 以显示维护信息列表页面。

发布

php artisan vendor:publish --provider 'NewJapanOrders\Maintenance\ServiceProvider'

将以下文件复制到 resouces/views/maintenances

  • index.blade.php
  • edit.blade.php
  • create.blade.php

中。

如果要更改视图文件的位置

创建一个继承自 NewJapanOrders\Maitenance\Controllers\MaitenanceController 的类,并按照以下方式重写属性。

use NewJapanOrders\Maintenance\Controllers\MaintenanceController as Controller;
use Illuminate\Http\Request;

class MaintenanceController extends Controller {
    protected $index_view = 'maintenances.index';
    protected $create_view = 'maintenances.create';
    protected $edit_view = 'maintenances.edit';
}