Может ли PHP определить, запускается ли он из задания cron или из командной строки? - PullRequest
49 голосов
/ 10 октября 2008

Я ищу способ PHP, чтобы определить, был ли скрипт запущен из ручного вызова на оболочке (я вошел в систему и запустил его), или он был запущен из записи crontab.

У меня есть различные сценарии типа обслуживания, написанные на php, которые я настроил для запуска в моем crontab. Иногда, и мне нужно запускать их вручную досрочно или, если что-то не получилось / сломалось, мне нужно запустить их пару раз.

Проблема в том, что у меня также есть несколько внешних уведомлений, установленных в задачах (публикация в твиттере, отправка электронной почты и т. Д.), Которые я НЕ хочу делать каждый раз, когда запускаю скрипт вручную.

Я использую php5 (если это имеет значение), это довольно стандартная среда Linux-сервера.

Есть идеи?

Ответы [ 21 ]

0 голосов
/ 27 апреля 2009

Я думаю, что было бы лучше запустить команду cron с дополнительной опцией в командной строке, которую вы не запускаете вручную

cron сделает:

command ext_updates=1

руководство будет делать:

command 

Просто добавьте параметр в самом скрипте, чтобы параметр ext_updates имел значение по умолчанию false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...