Как скрипт PHP может определить, был ли он вызван как скрипт или из оболочки? - PullRequest
1 голос
/ 20 апреля 2010

У меня есть скрипт PHP на веб-сервере.

Этот файл вызывается через оболочку другой программой , но он все еще может запускаться веб-сервером в ответ на запрос HTTP.

Как скрипт может определить способ его вызова?

Ответы [ 4 ]

3 голосов
/ 20 апреля 2010

Есть много способов; Я проверяю, пусто ли $_SERVER['HTTP_HOST']. Я думаю, что технически правильный способ - посмотреть, вернется ли php_sapi_name() cli

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

Я пишу много приложений, которые работают одновременно в оболочке и в веб-контекстах, и этот лайнер облегчает

function isWEB()
         {
         return $GLOBALS['argc']===NULL;
         }
0 голосов
/ 20 апреля 2010

Есть определенные переменные среды, которые вы можете проверить. например $ _ SERVER ["REQUEST_METHOD"]

if (isset($_SERVER["REQUEST_METHOD"]))
   // run by server

удачи

0 голосов
/ 20 апреля 2010

Если он выполняется из оболочки, то у него не будет заголовков HTTP, поскольку он не был запрошен из протоколов HTTP.

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