疑難排解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是否已設定,請執行下列步驟:

  1. Magento檔案系統擁有者身分登入或切換至您的Magento伺服器。

  2. 檢視下列檔案是否存在: bash ls -al。 如果檔案存在,則cron過去已順利執行。 如果檔案不存在,表示您尚未安裝Magento或cron未執行。 無論是上述哪一種情況,請繼續進行下一個步驟

  3. 取得有關cron的更多詳細資料。 以具有root許可權的使用者身分,輸入下列命令: bash crontab -u。 例如,在CentOS bash crontab -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至少兩次,才能執行工作;第一次是佇列工作,第二次是執行工作。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f