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 が設定されているかどうかを確認するには、次の手順に従います。
-
次のファイルが存在するかどうかを確認します:bash ls
-al。 ファイルが存在する場合、cron は過去に正常に実行されています。 ファイルが存在しない場合は、Magentoをまだインストールしていないか、cron が動作していません。 どちらの場合も、次の手順に進みます -
cron の詳細を見る。 root 権限を持つユーザーとして、コマンド「
bash crontab -u」を入力します。 例:CentOS bashcrontab -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 回目にジョブを実行します。