@madphoenix

Как использовать Yii2 console controller и cron на shared хостинге?

Здравствуйте! Подскажите, пожалуйста, как использовать Yii2 console controller и cron на shared хостинге?
Есть хостинг от aghost и DirectAdmin. В настройках cron пытаюсь запустить действие из консольного контроллера.

Пробовал команды следующего вида:
10 * * * * cd /home/user/domains/test.com/public_html/planner && /usr/local/bin/php yii currency/download
10 * * * * /usr/local/bin/php /home/user/domains/test.com/public_html/planner yii currency/download
10 * * * * /usr/local/bin/php /home/user/domains/test.com/public_html/planner/yii currency/download

В первых двух случаях ничего не происходит, в логи ничего не пишется.
В последнем случае в лог уходит сообщение об ошибке:

2016-02-02 10:20:02 [-][-][-][error][yii\console\Exception] exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "currency/download".' in /home//domains//public_html/planner/vendor/yiisoft/yii2/base/Module.php:460
Stack trace:
#0 /home//domains//public_html/planner/vendor/yiisoft/yii2/console/Application.php(167): yii\base\Module->runAction('currency/downlo...', Array)
#1 /home//domains//public_html/planner/vendor/yiisoft/yii2/console/Application.php(143): yii\console\Application->runAction('currency/downlo...', Array)
#2 /home//domains//public_html/planner/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request))
#3 /home//domains//public_html/planner/yii(19): yii\base\Application->run()
#4 {main}

Next exception 'yii\console\Exception' with message 'Unknown command "currency/download".' in /home//domains//public_html/planner/vendor/yiisoft/yii2/console/Application.php:169
Stack trace:
#0 /home//domains//public_html/planner/vendor/yiisoft/yii2/console/Application.php(143): yii\console\Application->runAction('currency/downlo...', Array)
#1 /home//domains//public_html/planner/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request))
#2 /home//domains//public_html/planner/yii(19): yii\base\Application->run()
#3 {main}
  • Вопрос задан
  • 4406 просмотров
Решения вопроса 1
mrsombre
@mrsombre
Веб-программист
Если есть ssh до хостинга залогиниваетесь в консоль (например через Putty, ну или другим клиентом). Выполняете команду php -f /path/to/yii/console controller/action. Смотрите ошибки.
Когда все заработает, пишите все что после -f в крон.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы