Кой метод за откриване на режим на изпълнение на 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 заявка. Мисля обаче, че дефинираните('STDIN') или isset($argc) също са надеждни. Ако зависеше от мен, вероятно щях да избера дефинирания ('STDIN'), тъй като мога да си представя, че някой случайно задава стойност на $argc.

Функцията php_sapi_name по-горе изглежда е друг (най-надеждният?) начин за определяне на това, въпреки че смятам, че би било добра идея да прочетете всички догадки: имайте предвид, че различните сървъри ще дадат различни отговори.

person Berry Langerak    schedule 22.06.2011