Используйте функцию php_sapi_name()
.
if (php_sapi_name() == "cli") {
// In cli-mode
} else {
// Not in cli-mode
}
Вот некоторые важные примечания из документов:
php_sapi_name - возвращает тип интерфейса между веб-сервером и PHP
. Хотя это не исчерпывающее, возможные возвращаемые значения включают aolserver, apache, apache2filter, apache2handler, caudium, cgi (до PHP 5.3), cgi-fcgi, cli, cli-server , непрерывность, встраивание, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, tux и webjames.
blockquote>В PHP> = 4.2.0 также существует предопределенный константа,
PHP_SAPI
, которая имеет то же значение, что иphp_sapi_name()
.
Это означает соответствие символа подчеркивания в дополнение к строчным буквам, прописным буквам и цифрам.
Regular expressions are documented in perlre. That's the place to check whenever you have a question about regular expressions. The Regular-Expressions.info site is very helpful too.
To get you started, the thing you are looking at is called a "character class". Any of the characters inside a character class can match.
You can make a range of characters with the -
, so a-z
is any of the lowercase letters in that range. A-Z
are the uppercase letters and 0-9
are the digits. The _
is a literal underscore. Taken together those are the legal characters for a Perl identifier (variable names and so on). That's the \w
character class in the ASCII sense (and not the expanded Unicode sense).
People often use that to match a Perl variable name but there's a rule that people forget. The first character of a user-defined name has to be a letter or underscore (not a digit). That means that you should use a different character class for the initial letter:
[A-Za-z_][A-Za-z0-9_]*
За исключением последовательностей символов ( [.
, [:
и [=
]), выражения диапазона (например, , [az]
) и циркумфлекс в начале ( [^
), каждый символ внутри выражения в квадратных скобках означает сам символ, как это подчеркивание .
В качестве примечания, это выражение обычно представлено как \ w
(символ слова, игнорируя Unicode и языковой стандарт), и обычно используется для определения набора символов, которые разрешено использовать в имена переменных.