Mon cron Magento fonctionne normalement il y a environ quelques mois. Mais récemment, il a soudainement cessé de générer un calendrier. La commande cron elle-même fonctionne bien sur mon serveur d'hébergement. Il s'agit de Magento ver 1.8.0.0.
Voici ce que j'ai essayé:
J'essaie d'exécuter cron.php dans le navigateur, et cela ne génère pas de planning dans la table cron_schedule.
Installez l'extension AOE Scheduler, en espérant qu'elle puisse résoudre le problème. Je peux générer un planning à l'aide de cette extension, mais Magento cron ne peut pas exécuter le planning cron.
Installez le nouveau Magento ver 1.8.0.0 dans le serveur d'hébergement, puis exécutez cron.php dans le navigateur, la table cron_schedule est toujours vide.
Installez le nouveau Magento ver 1.8.0.0 dans mon hôte local, puis exécutez cron.php dans le navigateur, il génère un calendrier. J'essaie donc de le télécharger sur le serveur d'hébergement. J'efface le cache Magento, puis j'exécute cron.php dans le navigateur, étonnamment rien ne se passe dans la table cron_schedule. Mais cela fonctionne bien dans mon hôte local.
J'ai un autre site Magento ver 1.7.0.2 sur le même serveur d'hébergement, le cron fonctionne bien.
Je ne sais toujours pas quelle est la cause de ce problème, alors je le poste ici. En espérant que quelqu'un a le même problème et partage la solution.
/usr/bin/wget http://www.mysite.com/cron.php >/dev/null 2>&1
.Réponses:
J'ai trouvé la solution dans les forums ( lien plus en ligne )
Auparavant, j'ai essayé d'installer Magento 1.7.0.2 sur mon serveur d'hébergement et le cron fonctionne bien. J'ai donc supposé que mon hébergement ne pouvait pas exécuter Magento 1.8.0.0 cron, il était donc prévu de rétrograder mon site Magento vers 1.7.0.2. Mais avant de rétrograder mon site, j'ai trouvé la solution sur le lien ci-dessus.
Après
$isShellDisabled = (stripos(PHP_OS, ‘win’) === false) ? $isShellDisabled : true;
environ 47, ajoutez cette ligne de code$isShellDisabled = true;
Et maintenant, mon cron Magento 1.8.0.0 fonctionne parfaitement.
la source
La solution donnée par Wakanina a fonctionné pour moi. Cependant, changer le fichier cron.php était en quelque sorte inacceptable dans notre politique. Chose étrange, j'ai déployé mon site sur deux serveurs (avec le même système d'exploitation, la même version PHP) et sur un serveur, il exécute les tâches cron lorsque cron.php est exécuté et sur un autre serveur, rien ne se passe.
J'ai donc dû essayer une meilleure solution qui gardera la preuve de la mise à niveau de mon site.
Au lieu d'exécuter cron.php, j'exécute maintenant cron.sh via
crontab -e
puisque Linux est utilisé comme OS de serveur.la source
Le problème n'est
magento_root/cron.php
pas réglé sur le serveurcrontab
. Nous devons ajouter ce fichier dans crontab afin qu'il fonctionne pour nous comme suit.Il devrait y avoir une entrée pour le fichier magento_root / cron.php. Sinon, nous devons ajouter ce fichier car ce fichier est responsable du lancement de vos tâches Magento Cron. Nous devons donc modifier le Crontab comme suit.
Ajoutez l'instruction suivante dans le fichier et fermez-la après l'avoir enregistrée.
Pour plus d'informations, visitez ce lien
la source