В PHP, как обнаружить выполнение из режима CLI или через браузер?

У меня есть общий скрипт, который Im включает в мои файлы PHPcron и файлы, которые просматриваются через браузер. Некоторая часть кода мне нужна только для файлов non cron. Как я могу определить, выполняется ли выполнение из CLI или через браузер (я знаю, что это можно сделать, передав некоторые аргументы с cron-файлами, но у меня нет доступа к crontab). Есть ли другой путь ?

Solutions Collecting From Web of "В PHP, как обнаружить выполнение из режима CLI или через браузер?"

Используйте php_sapi_name() .

 if (php_sapi_name() == "cli") { // In cli-mode } else { // Not in cli-mode } 

Вот некоторые важные примечания из документов:

php_sapi_name – возвращает тип интерфейса между веб-сервером и PHP

Возможные возвращаемые значения: aolserver, apache, apache2filter, apache2handler, caudium, cgi (до PHP 5.3), cgi-fcgi, cli, cli-server, непрерывность, встраивание, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, tux и webjames.

 if(php_sapi_name() == "cli") { //In cli-mode } else { //Not in cli-mode } 

Постоянный PHP_SAPI имеет то же значение, что и php_sapi_name() .

(доступно в PHP> = 4.2.0)

Я думаю, вы можете видеть это из переменных $ _SERVER. Попробуйте распечатать массив $ _SERVER для браузера и CLI, и вы должны увидеть различия.

Вы можете использовать:

 if (isset($argc)) { // CLI } else { // NOT CLI }