Основная цель этого CLI SAPI - разработка консольных приложений на PHP. Имеется довольно много различий между CLI SAPI и другими видами SAPI, которые будут рассмотрены в этой главе. Стоит отметить, что CLI SAPI и CGI - различные SAPI-интерфейсы, хотя в их поведении много общего.
CLI SAPI включается по умолчанию с помощью опции --enable-cli, но может быть выключен опцией --disable-cli при запуске ./configure.
Имя, расположение и существование бинарных модулей CLI/CGI зависит от того, как именно установлен PHP в вашей системе. По умолчанию при выполнении make создаётся как CGI-, так и CLI-модуль, размещённые в директориях sapi/cgi/php-cgi и sapi/cli/php соответственно, внутри директории с исходниками PHP. Следует заметить, что оба файла имеют одинаковое название: php. Что произойдёт при выполнении make install, зависит от того, какие опции вы указали на стадии конфигурирования. Если выбран модуль SAPI во время выполнения, например, apxs, или используется опция опция --disable-cgi, модуль CLI будет скопирован в {PREFIX}/bin/php при выполнении make install, в противном случае будет скопирован CGI-модуль. Например, если задана опция --with-apxs, то при выполнении make install CLI-версия будет скопирована в {PREFIX}/bin/php. Если вы хотите переопределить установку CGI-модуль, используйте make install-cli после выполнения make install. В качестве альтернативы вы могли бы указать опцию --disable-cgi в строке конфигурации.
Замечание:
Поскольку обе опции, --enable-cli и --enable-cgi, включены по умолчанию, просто наличие --enable-cli в команде конфигурации необязательно означает, что CLI будет скопирован в {PREFIX}/bin/php при выполнении make install.
Бинарный файл CLI входит в дистрибутив для Windows в основной папке в качестве файлаphp.exe. CGI-версия находится в файле php-cgi.exe. Кроме того, в дистрибутив входит файл php-win.exe, если PHP был сконфигурирован с помощью --enable-cli-win32. Он полностью эквивалентен CLI-версии, за исключением того, что абсолютно ничего не выводит, и, таким образом, не предоставляет консоль (окно терминала не появляется на экране).
Замечание: Какой из вариантов SAPI установлен?
Выполните из командной строки php -v для получения информации о том, является ли php CGI или CLI. Также вы можете использовать функцию php_sapi_name() или константу
PHP_SAPI
.
Замечание:
Соответствующую страницу руководства (
man
) Unix можно просмотреть с помощью команды man php в консоли.