多租户
将子站点分布到多个服务器和数据库,以提升性能与安全性
Version 1.2.0 发布亮点
Multi-Tenancy 1.2.0 为生产隔离工作流添加了主权租户基础:
- 通过短生命周期、防重放保护的 SSO 访问实现无状态租户自动登录。
- 为主权租户提供按子站点划分的 数据库和文件系统隔离。
- 面向感知主机的租户配置提供 Hostinger 多租户能力。
- 用于旧数据检查和异步推送处理的主权迁移验证门控。
- 可配置的同机数据库主机绑定,适用于 Bedrock、FrankenPHP 和 localhost 安装。
- 租户引导、数据库写入器、架构引导和用户配置改进。
- 更安全的主权拆除流程,会清理租户凭据。
要求
- WordPress 5.3 或更高版本
- PHP 7.4 或更高版本
- Multisite Ultimate plugin(已启用)
安装
- 将 addon 文件上传到你的
/wp-content/plugins/目录 - 通过 WordPress 中的“Plugins”菜单启用 plugin
- 在网络管理员中配置 addon 设置
开发
设置
# Install dependencies
composer install
npm install
# Run tests
npm run test
# Run code standards checks
vendor/bin/phpcs
vendor/bin/phpstan
# Fix code style issues
vendor/bin/phpcbf
# Build for production
npm run build
项目结构
ultimate-multisite-addon-template/
├── inc/ # PHP 类和包含文件
│ ├── class-multisite-ultimate-updater.php # 更新处理程序
│ └── class-multi_tenancy-main.php # 主要功能
├── tests/ # 单元测试
│ ├── bootstrap.php # 测试引导
│ ├── class-*-base.php # 基础测试类
│ └── class-*-test.php # 测试用例
├── views/ # 模板文件
├── assets/ # 静态资源
│ ├── css/ # 样式表
│ ├── js/ # JavaScript 文件
│ └── images/ # 图片
├── lang/ # 语言文件
├── composer.json # PHP 依赖
├── package.json # Node.js 依赖
├── phpunit.xml.dist # PHPUnit 配置
├── .phpcs.xml.dist # 代码标准配置
└── rector.php # 代码现代化规则
测试
该 addon 包含一个全面的测试框架:
- 单元测试:基于 PHPUnit 的测试,使用 WordPress 测试套件
- 基础测试类:为常见测试场景提供辅助方法
- 测试覆盖率:已配置用于跟踪代码覆盖率
- 多站点测试:测试在多站点环境中运行
代码标准
- WordPress 编码标准:通过 PHPCS 强制执行
- PHP 7.4+ 兼容性:支持现代 PHP 功能
- 静态分析:集成 PHPStan 进行类型检查
- 代码现代化:用于 PHP 升级的 Rector 规则
构建系统
- 资源处理:对 CSS/JS 文件进行压缩
- 翻译:生成 POT 文件
- 打包:创建用于分发的归档文件
- 开发模式:用于调试的未压缩资源
配置
该 addon 支持多种配置选项,可通过网络管理员界面访问。
主权租户配置
对于主权租户,在将流量路由到租户之前,请配置租户数据库、文件系统根目录、数据库主机绑定和主机能力。每次更改影响数据库凭据、主机绑定、路由或用户配置时,都要运行迁移验证。
仅当租户运行时和数据库授权预期使用本地套接字或同机访问时,才使用 localhost。当你的提供商配置的授权主机是 127.0.0.1 或某个服务主机名时,请使用它们。
Hostinger 能力
Hostinger 多租户能力使用共享的 Hostinger 集成令牌。验证前,请确认该域名存在于 hPanel 中,DNS 指向 Hostinger 账户,并且租户数据库设置与 hPanel 匹配。
Hooks 和 Filters
Actions
ultimate-multisite-addon-template_init- 在 addon 初始化后触发ultimate-multisite-addon-template_loaded- 在所有 addon 文件加载后触发
Filters
ultimate-multisite-addon-template_settings- 修改 addon 设置ultimate-multisite-addon-template_enabled- 覆盖 addon 启用/禁用状态
许可证
此 addon 根据 GPL v3 或更高版本授权。
支持
如需支持和文档,请访问 MultisiteUltimate.com
更新日志
-
Version 1.2.0 (2026-06-03):添加无状态租户自动登录、Hostinger 多租户能力、按子站点划分的数据库和文件系统隔离、主权迁移验证门控、租户引导/数据库写入器改进、可配置的 MySQL 主机绑定,以及更安全的主权拆除。
-
Version 1.0.1 (2025-09-28):将前缀重命名为 ultimate-multisite;更新文本域;版本提升。
-
Version (2025-09-28):将前缀重命名为 ultimate-multisite;更新文本域;版本提升。