new-japan-orders / maintenance
dev-master
2018-05-15 07:39 UTC
Requires
- illuminate/support: ^5.6
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'; }