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

Содержание

Введение

Основная цель 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.