我写过一个调度程序任务。它在我的机器上工作得很好。不幸的是它不能在我的远程机器上工作。TYPO3调度程序什么都不做
该机器是一个使用php7.0 php-fpm运行的freeBSD。 这个cron是这样的:
**[email protected]
@weekly /usr/local/bin/letsencrypt.sh -c
* * * * * php /var/www/alpha/beta/gamma/typo3/cli_dispatch.phpsh scheduler
#* * * * * php -r 'echo function_exists("foo") ? "yes" : "no";'
在执行完最后的crontab(如果我评论它)和邮件输出送给我的。
如果我用一些奇怪的东西替换“调度程序”,我还会得到一个包含我应该选择的有效选项的输出。 这对我来说意味着,该cron正在运行,cli_dispatch.phpsh被正确调用。
在TYPO3后端调度程序说配置没问题。我可以手动启动cron并完成这项工作。
那么,还有什么原因可以......?
编辑
我想通了,原因是,该TYPO3计划并没有要求正确的数据库。我有一个AdditionalConfiguration文件,其中根据变量$ _SERVER ['SERVER_NAME']更改$ GLOBALS ['TYPO3_CONF_VARS'] ['DB'] ['database']中的数据库名称。但是在Scheduler中,这个变量是空的。所以我不得不删除AdditionalConfiguration文件,并且所有内容都按照预期工作。
现在的问题是,我如何才能实现调度程序获取正确的基于Servername的数据库?
重要的一点是:上下文测试只能用于测试,意味着单元测试,功能测试。对像QS这样的环境使用像生产/测试这样的开发或生产的子环境! –
当然这是正确的。编辑我的答案 – Falk