我寫過一個調度程序任務。它在我的機器上工作得很好。不幸的是它不能在我的遠程機器上工作。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