Cron のトラブルシューティング

この記事では、Adobe Commerce オンプレミス製品の cron に関する問題のトラブルシューティングソリューションについて説明します。

説明 description

影響を受ける製品とバージョン

  • Adobe Commerce オンプレミス 2.2.x、2.3.x
  • Magento Open Source 2.2.x, 2.3.x#キョウジ 2.2.x#

問題/症状

cron の問題の症状を次に示します。

  • 更新またはアップグレードが実行されず、pending 状態のままになります。

  • PHP の設定 $HTTP_RAW_POST_DATA が正しく設定されていても、エラーメッセージが表示されます。

  • Cron の準備チェックが失敗します。 書き込み不可のパスや cron が設定されていない場合にエラーが発生します。 次に例を示します。

  • 次の図に示すように、PHP レディネスチェックで PHP のバージョンが表示されません。

  • Commerce Admin に次のエラーが表示されます。

  • このエラーを確認するには、次に示すように、ウィンドウの上部にある「システムメッセージ」をクリックします。

原因を調べる

この節では、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 が設定されていない場合は、次のメッセージが表示されます。terminal no crontab for magento_user crontab には次の情報が表示されます。

    • 使用している PHP バイナリ (場合によっては複数のバイナリを使用)
    • 実行しているMagento cron スクリプト(特に、それらのスクリプトへのパス)
    • Cron ログの場所

解決策 resolution

問題の解決策については、次のいずれかの節を参照してください。

crontab の解決策が設定されていない

cron ジョブが正しく設定されていることを確認するには、cron ジョブの設定 ​ を参照してください。

間違った PHP バイナリから実行される cron の解決策

Cron ジョブで web サーバープラグインとは異なる PHP バイナリを使用している場合は、PHP 設定エラーが表示される場合があります。 この問題を解決するには、PHP コマンドラインと PHP Web Server プラグインの両方に同じ PHP 設定を指定します。

PHP 設定について詳しくは、開発者向けドキュメントの ​ 必要な PHP 設定 ​ を参照してください。

エラーが発生して実行されている cron のソリューション

コマンドに役立つエラーメッセージが表示される可能性があるので、各コマンドを手動で実行してみてください。 cron ジョブの設定 ​ を参照してください。

注意:ジョブを実行するには、cron を少なくとも 2 回実行する必要があります。最初にジョブをキューに追加し、2 回目にジョブを実行します。

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