# Работа с PHP из командной строки

## Содержание

- Основные отличия от остальных реализаций SAPI
- Опции
- Использование
- Потоки ввода-вывода
- Интерактивная консоль
- Встроенный веб-сервер
- Опции конфигурации

## Введение

Основная цель CLI SAPI — разработка консольных приложений на PHP. CLI SAPI содержит много отличий от других видов SAPI, которые объясняет эта глава. Обратите внимание, что CLI SAPI и CGI — разные SAPI-интерфейсы, хотя в их поведении много общего.

CLI SAPI включается по умолчанию опцией --enable-cli, а отключается опцией --disable-cli при запуске команды ./configure.

Имя, расположение и доступность бинарных модулей CLI или CGI-интерфейса различаются в зависимости от способа установки PHP в систему. По умолчанию при выполнении команды make внутри директории с исходным кодом PHP в каталоге sapi/cgi/php-cgi создаётся модуль CGI, а в каталоге sapi/cli/php модуль CLI. Обратите внимание, что оба файла модулей называются одинаково: php. Что произойдёт при выполнении make install, зависит от того, какие опции указали на стадии конфигурирования. Команда make install скопирует в каталог {PREFIX}/bin/php CLI-модуль, если во время конфигурирования выбрали модуль SAPI наподобие apxs или указали опцию --disable-cgi, иначе команда скопирует в эту директорию CGI-модуль. Например, с опцией --with-apxs команда make install скопирует в каталог {PREFIX}/bin/php CLI-версию. После команды make install запускают команду make install-cli, когда требуется переопределить установку двоичного файла CGI-модуля, или как альтернативу указывают в строке конфигурации опцию --disable-cgi.

> Замечание:

> Опция --enable-cli в строке конфигурации не означает, что команда make install скопирует CLI в каталог {PREFIX}/bin/php, поскольку опции --enable-cli и --enable-cgi включены по умолчанию.

Бинарный файл CLI лежит в главном каталоге PHP-дистрибутива для Windows в виде файла php.exe, а CGI-версия — в виде файла php-cgi.exe. Кроме того, в дистрибутив входит файл php-win.exe, если PHP сконфигурировали с опцией --enable-cli-win32. Этот файл эквивалентен CLI-версии, за исключением того, что ничего не выводит, и поэтому при запуске файла не открывает окно Командной строки.

> Замечание: Как узнать версию SAPI-интерфейса

> Вызов в командной оболочке команды php -v выведет информацию о том, запускается двоичный php-файл как CGI- или CLI-версия SAPI-интерфейса. Информацию о SAPI-версии возвращают также функция php_sapi_name() и константа `PHP_SAPI`.

> Замечание:

> В Unix-системах страница руководства к интерфейсу CLI доступна при вызове команды `man` в командной оболочке: man php.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open