jontsa / maintenance-bundle
Symfony 扩展包,用于将网站置于维护模式。
1.0.0
2024-01-02 11:47 UTC
Requires
- php: ^8.0
- symfony/config: ^6.0|^7.0
- symfony/console: ^6.0|^7.0
- symfony/dependency-injection: ^6.0|^7.0
- symfony/http-kernel: ^6.0|^7.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^9.5
README
这是一个为 Symfony 4/5 设计的小型扩展包,它提供了命令来将应用程序置于维护模式,在此期间所有请求都会收到 HTTP 503 响应。这是通过抛出 ServiceUnavailableHttpException
实现的,客户端将收到默认的 Symfony 错误页面或包含正确 HTTP 状态码的 JSON 消息。
功能
- 使用单个命令将网站置于维护模式
- 在维护期间对请求返回 HTTP 503 响应
- 可选的 IP 地址白名单。例如,在维护期间允许负载均衡器进行健康检查。
- 轻量级扩展包
- Deployer 的配置方法
要求
- Symfony 5+
- PHP 7.4+
- composer
安装
确保已全局安装 Composer,如 Composer 文档中的安装章节所述。
打开命令行,进入项目目录,并执行
$ composer require jontsa/maintenance-bundle
不使用 Symfony Flex 的应用程序
当不使用 Symfony Flex 时,您需要通过将其添加到项目 config/bundles.php
文件中注册的扩展包列表中来启用扩展包
// config/bundles.php return [ // ... Jontsa\Bundle\MaintenanceBundle\JontsaMaintenanceBundle::class => ['all' => true], ];
使用方法
要将网站置于维护模式
$ bin/console jontsa:maintenance enable
要禁用维护模式
$ bin/console jontsa:maintenance disable
配置
要更改默认设置,创建一个配置文件。
# config/packages/jontsa_maintenance.yaml jontsa_maintenance: whitelist: ip: [127.0.0.1, 192.168.0.0/24] lock_path: '%kernel.project_dir%/var/cache/maintenance'
ip
是允许在维护期间访问应用程序的 IP 地址或网络的数组lock_path
是维护期间创建的文件路径
自定义错误页面
如果您想自定义错误页面,请参阅 Symfony 文档。