Cron已停止,因為設定錯誤或遺失OpCache設定

本文提供因遺失或錯誤設定OpCache設定而導致cron停止運作時的解決方案。

受影響的產品和版本

雲端基礎結構上的Adobe Commerce,所有支援的版本

問題

cron已停止運作。

原因

OpCache模組已更新至較新的版本,該版本引進了GraphQL外掛程式,在執行階段會重寫env.php,而且可能會覆寫cron設定,這可能造成問題。 需要更新OpCache設定以避免與env.php file有關的任何問題,並且已在ECE Tools封裝的版本2002.1.13中解決。

解決方案

選項1:在命令列工具中執行下列動作:

bin/magento cron:run

可能會顯示cron已停用的訊息。

選項2:開啟app/etc/env.php檔案 — 如果您看到以下內容,則表示已手動停用cron、因部署失敗而未重新啟用,或此問題與OpCache設定相關。

  'cron' =>
  array (
    'enabled' => 0,
  ),
  1. 如果cron已停用,請執行此命令以重新啟用cron: vendor/bin/ece-tools cron:enable
  2. 請確定您使用最新版本的ECE Tools。 如果您尚未升級,請升級(或跳至專案3)。 若要檢查現有版本,請執行此命令:
    composer show magento/ece-tools
  3. 如果您已經使用最新版的ECE Tools,請檢查op-exclude.txt檔案是否存在。 要執行此操作,請執行此命令:
    ls op-exclude.txt
    如果此檔案不存在,請將https://github.com/magento/magento-cloud/blob/master/op-exclude.txt新增至您的存放庫,然後確認變更並重新部署。
  4. 不必升級ECE Tools,您也可以在存放庫中新增/修改https://github.com/magento/magento-cloud/blob/master/op-exclude.txt,然後確認變更並重新部署。

相關閱讀

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a