Magento cron.php нічого не робить після його запуску


10

Мій Magento cron працює нормально близько декількох місяців тому. Але останнім часом він раптом перестає генерувати графік. Сама команда cron працює на моєму сервері хостингу. Це Magento ver 1.8.0.0.

Це те, що я спробував:

  1. Я намагаюся виконати cron.php у браузері, і він не генерує розклад у таблиці cron_schedule.

  2. Встановіть розширення AOE Scheduler, сподіваючись, що це може вирішити проблему. Я можу генерувати графік за допомогою цього розширення, але Magento cron не може виконати розклад cron.

  3. Встановіть свіжий Magento ver 1.8.0.0 на хостинг-сервер, а потім виконайте cron.php у браузері, а таблиця cron_schedule ще порожня.

  4. Встановіть у свій localhost свіжий Magento ver 1.8.0.0, а потім виконайте cron.php у браузері, він генерує розклад. Тому я намагаюся завантажити його на хостинг-сервер. Я очищаю кеш Magento, а потім виконую cron.php у браузері, на диво нічого не трапляється в таблиці cron_schedule. Але це добре працює в моєму місцевому хості.

У мене є ще один сайт Magento версії 1.7.0.2 на тому ж сервері хостингу, cron працює чудово.

Я досі не знаю, в чому причина цієї проблеми, тому я розміщую її тут. Сподіваючись, що у когось така ж проблема, і поділитися рішенням.


2
Я зіткнувся з подібним питанням кілька місяців тому. Інтерпретатор php командного рядка мав окрему конфігурацію php.ini, і обмін пам'яті_ліміт був встановлений занадто низько, щоб завдання cron вийшли з ладу. Не впевнений, чи це ваша проблема.
Лабораторії Фіаско

Memory_limit - 256 М, і це команда, яку я використовую /usr/bin/wget http://www.mysite.com/cron.php >/dev/null 2>&1.
Ваканіна

Відповіді:


24

Я знайшов рішення на форумах ( посилання більше не в Інтернеті )

Раніше я намагався встановити Magento 1.7.0.2 на свій хостинг-сервер, і крон працює нормально. Тому я припустив, що мій хостинг не може запустити Magento 1.8.0.0 cron, тому я планував знизити свій сайт Magento до 1.7.0.2. Але перш ніж погіршити свій сайт, я знайшов рішення за посиланням вище.

  • Редагувати файл cron.php
  • Після $isShellDisabled = (stripos(PHP_OS, ‘win’) === false) ? $isShellDisabled : true; близько 47 додайте цей рядок коду

    $isShellDisabled = true;

І тепер мій Magento 1.8.0.0 крон працює ідеально.


У моєму випадку я працюю на сервері, який не давав мені нічого, крім головних болів через неоднозначну конфігурацію. Це був єдиний спосіб, коли я міг змусити крон бігати.
pspahn

Його працює для wget, але краще змінити ім'я на eq cron89128923489.php;)
user956584

Це працювало і для мене. Можливо, щось стосується обмежень доступу до оболонки.
Даніель Вест

Посилання має MageBayVaporated ...
Fiasco Labs

Я пояснив, чому працює це рішення і яке справжнє рішення тут: magento.stackexchange.com/questions/137130/…
Фабіан Шменглер

11

Рішення, яке дав Ваканіна, працювало на мене. Однак зміна файлу cron.php було неприйнятним у нашій політиці. Дивна річ у тому, що я розгорнув свій сайт на двох серверах (з тією ж ОС, версією PHP), і на одному сервері він виконує завдання cron, коли cron.php виконується, а на іншому сервері нічого не відбувається.

Тому довелося спробувати краще рішення, яке дозволить зберегти мій сайт підтвердженням оновлення.

Замість того, щоб виконувати cron.php, я зараз виконую cron.sh через те, що crontab -eLinux використовується як ОС сервера.


2
Ось як це слід робити.
Роббі Аверилл

2

Проблема magento_root/cron.phpне встановлена ​​на сервері crontab. Нам потрібно додати цей файл у crontab, щоб він працював для нас, як слід.

# crontab -l (this command will list all the Cron jobs in Crontab)

Для файлу magento_root / cron.php має бути запис. Якщо ні, нам потрібно додати цей файл, оскільки цей файл відповідає за ініціювання ваших завдань Magento Cron. Тому нам потрібно редагувати Crontab так, як далі.

# crontab -e

Додайте у файл наступне твердження та закрийте після збереження.

* / 5 * * * * wget -O / dev / null -q path_to_magento_root / cron.php> / dev / null

Для отримання додаткової інформації перейдіть за цим посиланням

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.