Adobe Commerce cronの準備状況チェックの問題
Adobe CommerceのCron準備状況チェックの問題は、cron ジョブが正しく設定されていない場合、web サーバーとは異なるPHP バイナリまたは設定を使用している場合、または実行中に失敗する場合があります。 これらの問題により、PHPの準備状況チェックでエラーや不完全な情報が表示されたり、Commerce Adminでcronが実行されないメッセージが表示されたりする可能性があります。 この問題を解決するには、既存のcrontabを確認し、cronが正しいPHP バイナリと一致する設定を使用していることを確認し、cron コマンドを手動で実行してエラーを特定します。 キューに入ったジョブを実行するには、Cronを少なくとも2回実行する必要があります。
説明 description
環境
PHPとcronが設定されたAdobe Commerce サーバー。
問題/症状
Cronの準備状況チェックの問題には、次の現象が表示される場合があります。
-
PHP設定
$HTTP_RAW_POST_DATAが正しく設定されていても、PHP設定に関するエラーメッセージが表示されます。 -
次の図に示すように、PHPの準備状況チェックではPHP バージョンは表示されません。
-
Commerce Adminに次のエラーが表示されます。
エラーを確認するには、次のようにウィンドウ上部の システムメッセージ をクリックする必要がある場合があります。
解決策 resolution
既存のcrontabを確認する
この節では、cronが現在実行されているかどうかを確認し、正しく設定されているかどうかを確認する方法について説明します。
crontabが設定されているかどうかを確認するには:
-
Commerce サーバーにMagento ファイルシステム所有者としてログインするか、切り替えます。
-
次のファイルが存在するかどうかを確認します:
$ ls -al <magento_root>/var/.setup_cronjob_status。 ファイルが存在する場合、cronは過去に正常に実行されました。 ファイル が存在しない場合は、Adobe Commerceがまだインストールされていないか、cronが実行されていません。いずれの場合も、次のステップに進みます。 -
Cronの詳細。
root権限を持つユーザーとして、次のコマンドを入力します:$ crontab -u <Magento file system owner name> -l。 例えば、CentOS$ crontab -u magento_user -lで。 ユーザーにcrontabが設定されていない場合、次のメッセージが表示されます:no crontab for magento_user。 crontabでは、次の情報を確認できます。- 使用しているPHP バイナリ (複数の場合があります)
- 実行しているAdobe Commerce cron スクリプト(特に、これらのスクリプトへのパス)
- cron ログの場所
問題の解決策については、次のいずれかのセクションを参照してください。
解決策:crontabが設定されない
cron ジョブが正しく設定されていることを確認するには、開発者ドキュメントの「cron ジョブの設定」を参照してください。
解決策:誤ったPHP バイナリから実行しているcron
cron ジョブでweb サーバープラグインとは異なるPHP バイナリを使用している場合、PHP設定エラーが表示される場合があります。 この問題を解決するには、PHP コマンドラインとPHP web サーバープラグインの両方に同じPHP設定を設定します。
PHP設定について詳しくは、開発者向けドキュメントの必須PHP設定を参照してください。
解決策:cronがエラーで実行される
各コマンドを手動で実行してみてください。コマンドに役立つエラーメッセージが表示される場合があるからです。 開発者ドキュメントのcron ジョブの設定を参照してください。
メモ:
ジョブを実行するには、少なくとも回 cronを実行する必要があります。最初にジョブをキューに入れるのは初めてで、2回目にジョブを実行するのは初めてです。