Какой способ определения режима запуска PHP-скрипта является более надежным? - PullRequest
1 голос
/ 22 июня 2011

Теперь я узнаю о способах определения того, работает ли php-скрипт погоды в режиме cli или web-сервера:

if (defined('STDIN'))

или

if (isset($argc))

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

Ответы [ 2 ]

4 голосов
/ 22 июня 2011

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

1 голос
/ 22 июня 2011

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

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

...