Сега ще разгледам начини за откриване на времето, когато php скриптът се изпълнява в режим на cli или уеб сървър:
if (defined('STDIN'))
or:
if (isset($argc))
Еднакво надеждни ли са или някой от тях е повече?
Сега ще разгледам начини за откриване на времето, когато php скриптът се изпълнява в режим на cli или уеб сървър:
if (defined('STDIN'))
or:
if (isset($argc))
Еднакво надеждни ли са или някой от тях е повече?
Нито едното. Проверете стойността, върната от php_sapi_name()
.
$_SERVER['REQUEST_METHOD'] няма да бъде зададен поради липса на HTTP заявка. Мисля обаче, че дефинираните('STDIN') или isset($argc) също са надеждни. Ако зависеше от мен, вероятно щях да избера дефинирания ('STDIN'), тъй като мога да си представя, че някой случайно задава стойност на $argc.
Функцията php_sapi_name по-горе изглежда е друг (най-надеждният?) начин за определяне на това, въпреки че смятам, че би било добра идея да прочетете всички догадки: имайте предвид, че различните сървъри ще дадат различни отговори.