You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3 10 Solr调度器baseVariants域名配置问询:自动运行时域名不符问题

解决TYPO3 10中Solr Index Queue Worker自动运行时baseVariant域名错误的问题

我之前碰到过几乎一模一样的场景,手动跑Scheduler任务完全正常,但自动执行就会跳去主域名——核心原因是CLI环境下TYPO3不会自动识别你指定的baseVariant/站点上下文,而手动操作时是在当前站点的后端会话里,自然能匹配正确的配置。下面是一步步的解决办法:

1. 给Scheduler任务绑定明确的站点

打开TYPO3后端的「Scheduler」模块,找到你的「Index Queue Worker (solr)」任务:

  • 编辑任务时,找到「Site」选项(TYPO3 10的Solr扩展已经支持这个配置项)
  • 选择testing.mydomain.nl对应的站点并保存。这样自动运行时,任务会强制加载该站点的所有配置,包括对应的baseVariant域名。

2. 给CLI命令指定站点参数

如果你的Scheduler是通过cron调用CLI命令执行的(比如typo3 scheduler:run),可以直接在命令里明确指定站点:

./vendor/bin/typo3 scheduler:run --site=testing.mydomain.nl

也可以用站点ID替代域名标识符:

./vendor/bin/typo3 scheduler:run --site=2

通过这个参数,CLI运行时会精准加载目标站点的配置,不会再默认用主站点的域名。

3. 强制CLI环境下的Solr站点配置(额外保险)

如果上面的方法还没解决问题,可以在AdditionalConfiguration.php里针对CLI环境强制指定站点的baseVariant:

if (TYPO3_MODE === 'CLI') {
    // 检测当前是否在运行Solr的索引队列任务
    $argv = $_SERVER['argv'] ?? [];
    $isSolrWorkerTask = in_array('scheduler:run', $argv) || in_array('solr:indexqueue:worker', $argv);
    
    if ($isSolrWorkerTask) {
        // 强制设置testing站点的base地址
        $GLOBALS['TYPO3_CONF_VARS']['SYS']['sites']['testing.mydomain.nl']['base'] = 'https://testing.mydomain.nl/';
        // 同步你在站点配置里的baseVariant规则
        $GLOBALS['TYPO3_CONF_VARS']['SYS']['sites']['testing.mydomain.nl']['baseVariants'] = [
            'production' => [
                'base' => 'https://www.mydomain.nl/',
            ],
            'testing' => [
                'base' => 'https://testing.mydomain.nl/',
                'condition' => 'applicationContext matches /Testing/',
            ],
        ];
    }
}

记得把代码里的站点标识符和base配置替换成你实际的内容。

4. 确认TYPO3_CONTEXT环境变量

如果你的测试环境使用了TYPO3_CONTEXT=Testing,一定要确保cron运行时也加载这个变量。比如把cron命令改成:

TYPO3_CONTEXT=Testing ./vendor/bin/typo3 scheduler:run

这样TYPO3会自动匹配对应上下文的baseVariant规则,不会再混用主站点的配置。

最后验证:修改完成后手动触发一次cron命令,再去/var/log下查看Solr日志,确认域名已经切换为testing.mydomain.nl即可。

内容的提问来源于stack exchange,提问作者Jacco van der Post

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 15:27:40