Раздел вопрос-ответ Добавление cron-задачи на shared-хостинге hoster.by

Как добавить cron-задачу на hoster.by (новое задание планировщика)?

Подключился по ssh к серверу, делаю в консоли:
ssh username@server
php /home/jekaby/project/bin/cli.php test
При этом php-скрипт успешно выполняется, виден результат выполнения cli-команды.
 
Поставил эту же команду в cron на shared-хостинге hoster.by через веб-интерфейс хостера, вот что приходит на email:
X-Powered-By: PHP/5.5.11
Set-Cookie: PHPSESSID=ng9j8hgf1lked7v3qhoh3jm0e3; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-type: text/html

<br />
<b>Fatal error</b>:  Uncaught exception 'ErrorException' with message 'Undefined variable: argv' in /home/jekaby/dcompany/bin/cli.php:20
Stack trace:
#0 /home/jekaby/dcompany/bin/cli.php(20): Core_ErrorCatcher-&gt;catchError(8, 'Undefined varia...', '/home/jekaby/dc...', 20, Array)
#1 {main}
  thrown in <b>/home/jekaby/dcompany/bin/cli.php</b> on line <b>20</b><br />
Т.е. вместо выполнения cli-команды выполняется какой то http-запрос...
share

1 ответ

Добавление php-скриптов в cron на shared-хостинге хостер бай делается через Панель управления хостингом cPanel -> Задания cron. Ссылка вроде такого https://vh40.hoster.by:2083. Для входа нужно ввести данные, которые вам выдал хостер.

php-скрипт из cron с передачей параметров через командную строку, пример cli-команды:

/usr/bin/php5-cli -f /path/cli.php taskname --param1=105000 --param2

Голый вызов php может не работать, тогда нужно указать полный путь до php5-cli. Путь до исполяемого php-файла указать с помощью параметра -f.

cron hoster.by

Cами параметры будут доступны внутри скрипта через переменные:

  • $argc – количество параметров
  • $argv – массив параметров
Добавить комментарий
    как минимум 5 символов

    icon Вход в систему

    зарегистрироваться
    НОВЫЕ ПОЛЬЗОВАТЕЛИ