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

Теперь я перейду к способам определения погоды. PHP-скрипт работает в режиме cli или веб-сервера:

if (defined('STDIN'))

or:

if (isset($argc))

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


person HongKilDong    schedule 22.06.2011    source источник


Ответы (2)


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

person Ignacio Vazquez-Abrams    schedule 22.06.2011
comment
Я думал, что ответ только ссылкой не одобряется, и предпочтительным способом является фактическое включение некоторого контента.... - person Nanne; 22.06.2011

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

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

person Berry Langerak    schedule 22.06.2011