Решение для моего случая:
Используйте php_sapi_name()
функция.
if (php_sapi_name() == "cli") {
// In cli-mode
} else {
// Not in cli-mode
}
Вот некоторые соответствующие примечания из документов:
php_sapi_name — Возвращает тип интерфейса между веб-сервером и PHP
, Хотя не исчерпывающий, возможные возвращаемые значения включают aolserver, апача, apache2filter, apache2handler, caudium, cgi (до PHP 5.3), cgi-fcgi, cli, cli-сервер, непрерывность, встраивают, isapi, litespeed, milter, nsapi, phttpd, pi3web, roxen, thttpd, смокинг и webjames.
В PHP> = 4.2.0, существует также предопределенная константа, PHP_SAPI
, который имеет то же значение как php_sapi_name()
.
Я думаю
$_SERVER['REMOTE_ADDR']
не будет заполнен от CLI.
Кроме того, весь HTTP_* вводит $ _SERVER суперглобальный, не будет заполнен от CLI или сделает это правильный путь транзитный участок, просто упомянутый :-)
В Linux более вероятно, что расширения существующих редакторов будут более зрелыми, чем совершенно новые. Таким образом, у двух приверженцев (vi и emacs), вероятно, будут доступные пакеты.
РЕДАКТИРОВАТЬ: Действительно, вот vi:
http://vim-latex.sourceforge.net/
... а вот emacs:
http: //www.gnu. org / software / auctex /
Я должен сказать, что я человек, работающий с vi, но пакет emacs выглядит довольно элегантно: он включает возможность встраивать изображения предварительного просмотра формул в ваш буфер emacs.
Только не забывайте обновлять этот список по мере добавления новых веб-серверов и интерфейсов.Также Бобби сказал:
Я заинтригован, почему этот документ. пример проверяет первые 3 символа, в то время как в описании указано, что строка должна быть в точности "CGI"
В описании примера говорится:
В этом примере проверяется наличие подстроки cgi, поскольку она также может быть cgi-fcgi.