螺旋包 / 维护
在更新或进行维护期间,请禁用您的应用程序。
Requires
- php: ^8.1
- spiral/boot: ^3.0
- spiral/cache: ^3.0
- spiral/console: ^3.0
- spiral/core: ^3.0
- spiral/serializer: ^3.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- spiral/testing: ^2.0
- vimeo/psalm: ^4.9
This package is auto-updated.
Last update: 2024-09-16 15:58:42 UTC
README
这里应该是您的描述。请限制为一两段,考虑添加一个小示例。
需求
确保您的服务器已配置以下PHP版本和扩展
- PHP 8.1+
- Spiral框架 3.0+
安装
您可以通过composer安装此包
composer require spiral-packages/maintenance
在包安装后,您需要从包中注册引导加载器。
protected const LOAD = [ // ... \Spiral\Maintenance\Bootloader\MaintenanceBootloader::class, ];
注意:如果您正在使用
spiral-packages/discoverer
,则无需自行注册引导加载器。
配置
默认情况下,该包使用file
驱动程序来存储维护模式的有关信息。如果您有多个应用程序实例,则需要使用cache
驱动程序,该驱动程序将可供所有实例访问。
MAINTENANCE_DRIVER=cache MAINTENANCE_CACHE_STORAGE=null MAINTENANCE_CACHE_KEY=maintenance
用法
将Spiral\Maintenance\Middleware\PreventRequestInMaintenanceModeMiddleware
包含在您的应用程序中,以防止在维护模式下访问的路线。
final class RoutesBootloader extends BaseRoutesBootloader { protected function globalMiddleware(): array { return [ \Spiral\Maintenance\Middleware\PreventRequestInMaintenanceModeMiddleware::class, // ... ]; } }
要启用维护模式,请执行down命令
php app.php down
默认情况下,维护模式的响应代码为503
,但您可以设置自定义响应代码
php app.php down --status=504
要禁用维护模式,请使用up命令
php app.php up
当您的应用程序处于维护模式时,中间件会抛出带有定义的状态码的Spiral\Maintenance\Exception\MaintenanceModeHttpException
异常。
Spiral框架允许您预渲染维护模式视图,该视图将在请求周期开始时返回。您可以使用App\ErrorHandler\ViewRenderer
预渲染您选择的模板。默认情况下,它会在app/views/exception/{statusCode}.dark.php
文件夹中查找模板。
您可以在app/views/exception/503.dark.php
中创建一个新的视图文件
<extends:layout.base title="[[Maintenance mode]]"/> <use:element path="embed/links" as="homepage:links"/> <stack:push name="styles"> <link rel="stylesheet" href="/styles/welcome.css"/> </stack:push> <define:body> <div class="wrapper"> <img src="/images/503.svg" alt="Error 503" width="300px"/> <h2>{{ $exception->getMessage() ?? 'Maintenance mode' }}</h2> </div> </define:body>
测试
composer test
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全漏洞
请审查我们的安全策略,了解如何报告安全漏洞。
致谢
许可
MIT许可(MIT)。请参阅许可文件以获取更多信息。