Мой Magento cron работает нормально несколько месяцев назад. Но в последнее время это внезапно перестало генерировать график. Сама команда cron работает нормально на моем хостинг-сервере. Это Magento версии 1.8.0.0.
Вот что я попробовал:
Я пытаюсь выполнить cron.php в браузере, и он не генерирует расписание в таблице cron_schedule.
Установите расширение AOE Scheduler, надеясь, что оно решит проблему. Я могу создать расписание, используя это расширение, но Magento Cron не может выполнить расписание Cron.
Установите свежую версию Magento 1.8.0.0 на хост-сервере, а затем выполните cron.php в браузере, таблица cron_schedule по-прежнему пуста.
Установите свежую версию Magento 1.8.0.0 на мой локальный хост, а затем запустите cron.php в браузере, он сгенерирует расписание. Поэтому я пытаюсь загрузить его на сервер хостинга. Я очищаю кеш Magento, затем выполняю cron.php в браузере, что на удивление ничего не происходит в таблице cron_schedule. Но это прекрасно работает в моем localhost.
У меня есть другой сайт Magento версии 1.7.0.2 на том же хостинг-сервере, cron работает нормально.
Я до сих пор не знаю, в чем причина этой проблемы, поэтому выкладываю ее здесь. Надеюсь, что у кого-то возникнет такая же проблема, и поделитесь решением.
/usr/bin/wget http://www.mysite.com/cron.php >/dev/null 2>&1
.Ответы:
Я нашел решение на форумах ( ссылка больше не онлайн )
Ранее я пытался установить Magento 1.7.0.2 на свой хостинг-сервер, и cron работает нормально. Поэтому я предположил, что мой хостинг не может работать с Magento 1.8.0.0 cron, поэтому я планировал понизить свой сайт Magento до 1.7.0.2. Но прежде чем перейти на мой сайт, я нашел решение по ссылке выше.
После
$isShellDisabled = (stripos(PHP_OS, ‘win’) === false) ? $isShellDisabled : true;
примерно # 47 добавить эту строку кода$isShellDisabled = true;
И теперь My Magento 1.8.0.0 cron работает отлично.
источник
Решение, данное Ваканиной, сработало для меня. Однако изменение файла cron.php было неприемлемым в нашей политике. Странно то, что я развернул свой сайт на двух серверах (с одной и той же ОС, версией PHP) и на одном сервере он выполняет задачи cron, когда выполняется cron.php, а на другом сервере ничего не происходит.
Поэтому пришлось попробовать лучшее решение, которое сохранит мой апгрейд сайта.
Вместо выполнения cron.php, я теперь выполнение cron.sh через
crontab -e
поскольку Linux используется в качестве серверной ОС.источник
Проблема не
magento_root/cron.php
была установлена на сервереcrontab
. Нам нужно добавить этот файл в crontab, чтобы он работал для нас следующим образом.Там должна быть запись для файла magento_root / cron.php. Если нет, нам нужно добавить этот файл, потому что этот файл отвечает за запуск ваших заданий Magento Cron. Поэтому нам нужно отредактировать Crontab следующим образом.
Добавьте следующую инструкцию в файл и закройте после сохранения.
Для получения дополнительной информации посетите эту ссылку
источник