疑難排解cron
本文針對Adobe Commerce內部部署產品中的cron問題,提供疑難排解解決方案。
說明 description
受影響的產品和版本
- Adobe Commerce內部部署2.2.x、2.3.x
- Magento Open Source 2.2.x、2.3.x
問題/症狀
以下是cron問題的症狀:
-
您的更新或升級未執行,且保持在
pending狀態。 -
即使已正確設定PHP設定
$HTTP_RAW_POST_DATA,也會顯示錯誤訊息。 -
cron整備檢查失敗。 可能的錯誤包括不可寫入的路徑以及未設定的cron。 範例如下:
-
PHP整備檢查不會顯示PHP版本,如下圖所示。
-
Commerce管理員中會顯示下列錯誤:
-
若要檢視錯誤,請按一下視窗頂端的[系統訊息],如下所示:
調查以找出原因
本節探討如何檢視cron目前是否正在執行,以及驗證其設定是否正確。
若要確認您的crontab是否已設定,請執行下列步驟:
-
以Magento檔案系統擁有者身分登入或切換至您的Magento伺服器。
-
檢視下列檔案是否存在: bash ls
-al。 如果檔案存在,則cron過去已順利執行。 如果檔案不存在,表示您尚未安裝Magento或cron未執行。 無論是上述哪一種情況,請繼續進行下一個步驟 -
取得有關cron的更多詳細資料。 以具有root許可權的使用者身分,輸入下列命令:
bash crontab -u。 例如,在CentOS bashcrontab -u magento_user -l上。 如果尚未為使用者設定crontab,則會顯示以下訊息:終端機沒有magento_user的crontab。 您的crontab會告訴您下列內容:- 您正在使用的PHP二進位檔(在某些情況下,您有多個)
- 您正在執行的Magento cron指令碼(尤其是這些指令碼的路徑)
- cron記錄檔的位置
解決方法 resolution
請參閱下列其中一個章節,以取得問題的解決方案。
未設定crontab的解決方案
若要確認您的cron工作已正確設定,請參閱設定cron工作。
從不正確的PHP二進位檔案執行cron的解決方案
如果您的cron作業使用與Web伺服器外掛程式不同的PHP二進位檔,則可能會顯示PHP設定錯誤。 若要解決此問題,請為PHP命令列和PHP Web伺服器外掛程式設定相同的PHP設定。
如需有關PHP設定的詳細資訊,請參閱我們的開發人員檔案中的必要的PHP設定。
cron執行時發生錯誤的解決方案
嘗試手動執行每個命令,因為命令可能會顯示有用的錯誤訊息。 請參閱設定cron工作。
注意:您必須執行cron至少兩次,才能執行工作;第一次是佇列工作,第二次是執行工作。