Что канонический путь состоит в том, чтобы определить командную строку по сравнению с http выполнением Сценария PHP?

Решение для моего случая:

  1. Проверьте свой журнал ошибок на /usr/local/var/mysql/Heo-MacBook-Pro.local.err
  2. Если в журнале есть что-то подобное ... [Примечание] Не удалось удалить файл pid: Permission denied ..., что означает, что у mysql нет разрешения на вашу папку mysql
  3. Используйте следующую команду в терминале, чтобы предоставить разрешение: sudo chown -R mysql / usr / local / var / mysql /
153
задан Greg 5 December 2008 в 11:28
поделиться

3 ответа

Используйте 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().

222
ответ дан Andy Fleming 4 November 2019 в 17:58
поделиться

Я думаю

$_SERVER['REMOTE_ADDR']

не будет заполнен от CLI.

Кроме того, весь HTTP_* вводит $ _SERVER суперглобальный, не будет заполнен от CLI или сделает это правильный путь транзитный участок, просто упомянутый :-)

8
ответ дан Vinko Vrsalovic 23 November 2019 в 22:00
поделиться

В Linux более вероятно, что расширения существующих редакторов будут более зрелыми, чем совершенно новые. Таким образом, у двух приверженцев (vi и emacs), вероятно, будут доступные пакеты.

РЕДАКТИРОВАТЬ: Действительно, вот vi:

http://vim-latex.sourceforge.net/

... а вот emacs:

http: //www.gnu. org / software / auctex /

Я должен сказать, что я человек, работающий с vi, но пакет emacs выглядит довольно элегантно: он включает возможность встраивать изображения предварительного просмотра формул в ваш буфер emacs.

Только не забывайте обновлять этот список по мере добавления новых веб-серверов и интерфейсов.

Также Бобби сказал:

Я заинтригован, почему этот документ. пример проверяет первые 3 символа, в то время как в описании указано, что строка должна быть в точности "CGI"

В описании примера говорится:

В этом примере проверяется наличие подстроки cgi, поскольку она также может быть cgi-fcgi.

4
ответ дан 23 November 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: