Как определить, запущен ли скрипт в консоли?

autosoft

Новичок
Как определить, запущен ли скрипт в консоли?

Как определить, запущен ли скрипт в консоли?

Собственно пока использую такой вариант.

PHP:
$is_console = PHP_SAPI == 'cli';
Может есть другой, более правильный вариант?
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
ну, еще наверно можно проверить наличие $_SERVER['HTTP_HOST']
 

Dovg

Продвинутый новичок
ну, еще наверно можно проверить наличие $_SERVER['HTTP_HOST']
этот ключ в некоторых случаях может отсутсвовать, даже если запрос был послан из веба.
Например, клиент просто может не передать этот заголовок.
 

varan

Б̈́̈̽ͮͣ̈Л̩̲̮̻̤̹͓ДͦЖ̯̙̭̥̑͆А͇̠̱͓͇̾ͨД͙͈̰̳͈͛ͅ
Автор оригинала: Dovg
этот ключ в некоторых случаях может отсутсвовать, даже если запрос был послан из веба.
Например, клиент просто может не передать этот заголовок.
тогда $_SERVER['REQUEST_URI']
 

autosoft

Новичок
Спасибо всем кто ответил.

Как оказалось на форуме есть ещё две подобные ветки:
http://phpclub.ru/talk/showthread.php?threadid=22736
http://phpclub.ru/talk/showthread.php?threadid=84904

В целом видимо корректно определять как запущен скрипт так:

PHP:
$is_console = PHP_SAPI == 'cli' || (!isset($_SERVER['DOCUMENT_ROOT']) && !isset($_SERVER['REQUEST_URI']));
Почему это может быть важно подробно написано вот здесь:
http://ua2.php.net/manual/en/function.php-sapi-name.php#89858

Ещё раз всем спасибо. Вопрос, я думаю, снят.
 
Сверху