跳转到正文

配置

Rudel 有两类配置:存储在 rudel_config WordPress 选项中的设置,以及你在 wp-config.php 中定义的常量。

rudel_config 选项

设置存储在 wp_options 中 rudel_config 下的一个数组中。在有内容写入该选项之前,每个键都使用默认值。未知键会被忽略,值会以整数形式存储。

键 默认值 含义
max_sandboxes 0 达到此数量时,拒绝创建沙盒。0 表示不设限制。
max_disk_mb 0 沙盒目录达到此大小(兆字节)时,拒绝创建沙盒。克隆的表不计入。0 表示不设限制。
default_ttl_days 0 未指定 ttl_days 或 expires_at 时,新建沙盒的默认到期时间。0 表示永不过期。
max_age_days 0 清理会移除超过此存续时间的沙盒。0 会停用存续时间规则。
max_idle_days 0 清理会移除在这段时间内没有记录活动(沙盒请求或快照)的沙盒。0 会停用空闲规则。
auto_cleanup_enabled 1 每小时从 WP-Cron 运行一次清理策略。
auto_cleanup_merged 0 同时运行 WP-Cron 中的已合并分支清理。
expiring_environment_notice_days 0 每次自动化运行时,收集将在这些天内到期的沙盒,并将其传递给 rudel_after_automation_expiring_environments 操作。
auto_snapshot_before_restore 1 每次还原前保存一个 pre-restore-... 快照。

wp rudel status 会打印当前值。

使用 WP-CLI 写入该选项。未指定的键会保留默认值:

命令行
wp option update rudel_config '{"max_age_days":14,"max_idle_days":3,"auto_cleanup_merged":1}' --format=json

也可以从 PHP 执行:

PHP
$config = new Rudel\RudelConfig();
$config->set( 'max_sandboxes', 20 );
$config->save();

更改后,下一个请求会安排或移除 WP-Cron 事件。请参阅 自动化。

常量

在 wp-config.php 中、Rudel 引导行之前定义这些常量。

常量 默认值 含义
RUDEL_CLI_COMMAND rudel 根 WP-CLI 命令名称。
RUDEL_ENVIRONMENTS_DIR wp-content/rudel-environments 存放沙盒目录的目录。主题资源始终从 /wp-content/rudel-environments/{id}/themes 提供,因此其他目录仍必须能通过该 URL 访问。
RUDEL_RUNTIME_TABLE_PREFIX rudel_ Rudel 表名称中、WordPress 前缀之后的部分。请参阅 运行时状态。
RUDEL_RUNTIME_TABLE_ENVIRONMENTS environments 表的完整名称覆盖值,位于 WordPress 前缀之后。
RUDEL_RUNTIME_TABLE_WORKTREES worktrees 表的完整名称覆盖值,位于 WordPress 前缀之后。
RUDEL_DB_DRIVER auto 用于独立 Rudel\Connection 访问的驱动程序:auto、mysqli 或 pdo。WordPress 请求始终使用 $wpdb。
RUDEL_GIT_AUTHOR_NAME Rudel 当检出目录没有 user.name 时,Rudel 会将作者姓名写入该目录的 Git 配置,用于 wp rudel push 提交。
RUDEL_GIT_AUTHOR_EMAIL rudel@localhost 当检出目录没有 user.email 时,Rudel 会写入作者邮箱。

沙盒请求中的常量

请求选择沙盒时,引导程序会定义代码可读取的常量。最常用的包括:

常量 值
RUDEL_ID 沙盒 ID
RUDEL_PATH 沙盒目录
RUDEL_TABLE_PREFIX 沙盒表前缀
RUDEL_THEME_SLUG 从沙盒提供的主题
RUDEL_HOST_URL, RUDEL_ENVIRONMENT_URL 主机和沙盒 URL
RUDEL_DISABLE_EMAIL true;出站邮件会被阻止

优先使用 API 方法(例如 Rudel::id()),而不是直接读取常量。

引导程序还会定义 WP_DEBUG、WP_DEBUG_LOG、WP_DEBUG_DISPLAY、WP_TEMP_DIR、WP_CACHE_KEY_SALT以及八个身份验证密钥和盐,但只会定义 wp-config.php 尚未定义的那些项。参见 错误日志和隔离。