Какой метод обнаружения режима запуска php-скрипта является более надежным?

Я теперь к способам обнаружения сценария погоды php работает в режиме cli или web server:

if (defined('STDIN')) 

или:

 if (isset($argc)) 

Они одинаково надежны или один из них больше?

Ни. Проверьте значение, возвращаемое с php_sapi_name() .

$ _SERVER ['REQUEST_METHOD'] не будет установлен из-за отсутствия HTTP-запроса. Я думаю, что определенные ('STDIN') или isset ($ argc) тоже надежны. Если бы это зависело от меня, я бы, вероятно, пошел с определенным («STDIN»), так как я могу представить, что кто-то случайно установил значение $ argc.

Функция php_sapi_name выше, по-видимому, является другим (самым надежным?) Способом определения этого, хотя я думаю, что было бы неплохо прочитать все сведения о том, что разные серверы будут давать разные ответы.