Résolution des problèmes liés à cron
Cet article propose des solutions de dépannage pour les problèmes liés à cron dans les produits sur site Adobe Commerce.
Description description
Produits et versions concernés
- Adobe Commerce on-premise 2.2.x, 2.3.x
- Magento Open Source 2.2.x, 2.3.x
Problème/Symptômes
Voici les symptômes des problèmes cron :
-
Votre mise à jour ou mise à niveau ne s’exécute pas et reste dans un état
pending. -
Un message d'erreur sur le paramètre PHP
$HTTP_RAW_POST_DATAs'affiche même s'il est correctement défini. -
La vérification de l’état de préparation de cron échoue. Les erreurs possibles incluent les chemins d’accès non inscriptibles et cron non configuré. Voici un exemple :
-
Le contrôle de préparation PHP n'affiche pas la version PHP comme le montre la figure suivante.
-
L’erreur suivante s’affiche dans Commerce Admin :
-
Pour afficher l’erreur, cliquez sur Messages système en haut de la fenêtre, comme illustré ci-dessous :
Enquêter pour trouver la cause
Cette section explique comment vérifier si cron est en cours d’exécution et s’il est correctement configuré.
Pour vérifier si votre crontab est configuré ou non, procédez comme suit :
-
Connectez-vous à votre serveur Magento en tant que propriétaire du système de fichiers Magento ou passez à ce dernier.
-
Vérifiez si le fichier suivant existe : bash ls
-al. Si le fichier existe, l’opération cron a réussi par le passé. Si le fichier n’existe pas, c’est que vous n’avez pas encore installé Magento ou que le cron n’est pas en cours d’exécution. Dans les deux cas, passez à l’étape suivante -
Obtenez plus de détails sur cron. Si vous disposez des privilèges root, saisissez la commande suivante :
bash crontab -u. Par exemple, sous CentOS bashcrontab -u magento_user -l. Si aucun crontab n’a été configuré pour l’utilisateur, le message suivant s’affiche : terminal no crontab pour magento_user. Votre crontab vous indique ce qui suit :- Quel binaire PHP utilisez-vous (dans certains cas, vous en avez plusieurs) ?
- Les scripts cron Magento que vous exécutez (en particulier, les chemins d’accès à ces scripts)
- Emplacement des journaux cron
Résolution resolution
Consultez l’une des sections suivantes pour obtenir une solution à votre problème.
La solution pour crontab n’est pas configurée
Pour vérifier que vos tâches cron sont configurées correctement, voir Configuration des tâches cron .
Solution pour cron fonctionnant à partir d'un binaire PHP incorrect
Si votre traitement cron utilise un fichier binaire PHP différent du plug-in du serveur Web, des erreurs de paramètres PHP peuvent s'afficher. Pour résoudre le problème, définissez des paramètres PHP identiques pour la ligne de commande PHP et le plug-in PHP du serveur web.
Pour plus d'informations sur les paramètres PHP, consultez Paramètres PHP requis dans notre documentation destinée aux développeurs.
Solution pour cron s’exécutant avec des erreurs
Essayez d’exécuter chaque commande manuellement, car elle peut afficher des messages d’erreur utiles. Voir Configurer des tâches cron.
Remarque : vous devez exécuter cron au moins deux fois pour que le traitement s'exécute ; la première fois pour mettre les traitements en file d'attente, la deuxième fois pour les exécuter.