synolia / sylius-maintenance-plugin
当您的网站处于维护状态时,用于Sylius的插件
v1.5.0
2024-01-05 07:50 UTC
Requires
- php: ^8.0
- jaybizzle/crawler-detect: ^1.2
- sylius/sylius: ^1.10
- webmozart/assert: ^1.11
Requires (Dev)
- dbrekelmans/bdi: 1.0
- friendsoftwig/twigcs: 6.1.0
- phpmd/phpmd: 2.13.0
- phpro/grumphp: 1.15.0
- phpspec/phpspec: 7.3.0
- phpstan/extension-installer: 1.2.0
- phpstan/phpstan: 1.9.7
- phpstan/phpstan-doctrine: 1.3.29
- phpstan/phpstan-phpunit: 1.3.3
- phpstan/phpstan-strict-rules: 1.4.4
- phpstan/phpstan-webmozart-assert: 1.2.2
- phpunit/phpunit: 9.5.27
- rector/rector: ^0.15.2
- sylius-labs/coding-standard: 4.3.0
- symfony/browser-kit: 6.0.11
- symfony/debug-bundle: 6.0.11
- symfony/dotenv: 6.0.5
- symfony/intl: 6.0.15
- symfony/panther: 2.0.1
- symfony/web-profiler-bundle: 6.0.17
README
Sylius 维护插件
功能
当您的网站处于维护状态时,您想要
- 不允许访问您的网站,并在首页显示“网站正在维护”的消息。
- 允许某些IP地址或秘密令牌访问您的网站
- 通过命令激活和停用这些行为
- 在Sylius后台办公室中激活和停用行为
- 在Sylius后台办公室中自定义您的消息
- 允许搜索机器人访问以避免对SEO产生负面影响
要求
安装
-
在您的composer.json文件中添加包及其依赖项
composer require synolia/sylius-maintenance-plugin
-
在您的config/packages/_sylius.yaml文件中导入所需的配置
imports: - { resource: "@SynoliaSyliusMaintenancePlugin/Resources/config/config.yaml" }
-
在您的config/routes.yaml文件中导入路由
synolia_maintenance: resource: "@SynoliaSyliusMaintenancePlugin/Resources/config/admin_routing.yaml" prefix: '/%sylius_admin.path_name%'
-
清除缓存
php bin/console cache:clear
用法
-
要将您的网站设置为维护模式,请在项目根目录下创建一个名为 maintenance.yaml 的文件。
-
如果您想要允许某些IP地址访问,请将这些IP地址添加到 maintenance.yaml
例如ips: [172.16.254.1, 255.255.255.255, 192.0.0.255]
您可以通过控制台命令将您的网站设置为维护模式
-
启用插件
php bin/console maintenance:enable
-
启用插件并添加一个或多个用空格分隔的IP地址
php bin/console maintenance:enable 172.16.254.1 255.255.255.255 192.0.0.255
-
禁用插件
php bin/console maintenance:disable
-
使用CLI删除配置文件
默认情况下,maintenance.yaml 配置文件在运行 maintenance:disable
或通过管理面板使用切换禁用时将保留。但是,通过传递选项 [-c|--clear]
到上述命令行将重置之前保存的配置
您还可以在后台办公室中设置您的网站为维护模式
- 启用/禁用插件
- 允许一个或多个IP地址访问(可选)
- 允许秘密令牌访问(可选)
- 创建您的自定义消息(可选)
- 维护期间授予搜索机器人访问权限(可选)
如果您想将 maintenance.yaml 放入一个目录中,请将您的目录添加到 .env
例如
SYNOLIA_MAINTENANCE_DIR=var/maintenance
如果您想在 maintenance.yaml 上添加缓存
# .env SYNOLIA_MAINTENANCE_CACHE=30 # ttl in seconds
并在项目代码中(例如使用redis)
# config/packages/prod/cache.yaml framework: cache: ... pools: ... synolia_maintenance.cache: adapter: cache.adapter.redis
开发
查看 如何贡献。
许可证
此库受 EUPL-1.2许可证 的约束。
鸣谢
由 Synolia 开发。