Задание Cron не выполняет файл php - PullRequest
0 голосов
/ 20 декабря 2018

Я настроил задание cron следующим образом:

* / 15 * * * * root /usr/bin/php5.6 /var/www/example.com/cr.php

(Да, root сейчас является владельцем - я исправлю это позже)

Я также пробовал с -q после ... / php5.6

но, похоже, он не работает, хотя системный журнал показывает, что он выполняется каждые 15 минут - например:

20 декабря 17:45:01 e2e-53-27 CRON [2601] :(root) CMD (root /usr/bin/php5.6 -q /var/www/example.com/cr.php)

Если я выполню часть после имени пользователя 'root' вприглашение bash работает.

Это apache2, работающий в Debian.Я не знаю, имеет ли это какое-то значение, но PHP-файл использует curl для вызова внешнего API, отправляющего SMS.

1 Ответ

0 голосов
/ 20 декабря 2018

Вы должны использовать этот формат в файле cron, чтобы он работал:

*/15 * * * * /usr/bin/php5.6 /var/www/example.com/cr.php

И лучший способ - поместить это в скрипт и добавить в качестве первой строки в команду скрипта:

. /root/.bash_profile

сделать окружение таким, каким оно есть в командной строке

...