Как я настраивал Cron для Magento 2.2 на хостинге .masterhost

cron

(Дмитрий Федюк) #1

Замечание 1

Команда php на хостинге .masterhost настроена на устаревшую версию PHP (5.6.32), её использовать не надо, ибо Magento 2.2 требует PHP 7.

Вместо этого указывайте полный путь к современному интерпретатору PHP: /usr/bin/php71.

Замечание 2

По умолчанию memory_limit для /usr/bin/php71 равен 128M.
Это, конечно, недостаточно для Magento 2.
Увеличивать memory_limit можно безнаказанно: посредством ключа -d.
Мои команды для Cron:

/usr/bin/php71 -d 'memory_limit=2G' /home/u221740/ros-corp.ru/www/m/bin/magento cron:run 
/usr/bin/php71 -d 'memory_limit=2G' /home/u221740/ros-corp.ru/www/m/update/cron.php
/usr/bin/php71 -d 'memory_limit=2G' /home/u221740/ros-corp.ru/www/m/bin/magento setup:cron:run

Замечание 3

Интерпретатор PHP у .masterhost использует устаревшую версию timezonedb, которая не понимает многие российские значения типа «Asia/Tomsk» и «Asia/Barnaul».
Использование этих значений приводит к сбою: «IntlException» / «Constructor failed».
Для устранения проблемы подберите альтернативный город в том же часовом поясе.
В моём случае сработал «Asia/Krasnoyarsk»:

05

Замечание 4

Расширение intl интерпретатора PHP на хостинге .masterhost по умолчанию не установлено, техподдержка устанавливает его по запросу.
Это расширение требуется для Magento 2.