CLI SAPI 模塊主要用作 PHP 的開發(fā)外殼應用。CLI SAPI 和其它 SAPI 模塊相比有很多的不同之處,我們將在本章中詳細闡述。值得一提的是,盡管 CLICGI 有很多共同的行為,但它們是不同的 SAPI

CLI SAPI 模塊會通過默認的 --enable-cli 參數(shù)設置啟用, 也可以在運行 ./configure 時用參數(shù) --disable-cli 來屏蔽。

CLI/CGI 二進制執(zhí)行文件的文件名、位置和是否存在會根據(jù) PHP 在系統(tǒng)上的安裝而不同。在默認情況下,當運行 make 時,CGI 和 CLI 都會被編譯并且分別放置在 PHP 源文件目錄的 sapi/cgi/php-cgisapi/cli/php 下。可以注意到兩個文件都被命名為了 php。在 make install 的過程中會發(fā)生什么取決于配置行。如果在配置的時候選擇了一個 SAPI 模塊,如 apxs,或者使用了 --disable-cgi 參數(shù),則在 make install 的過程中,CLI 將被拷貝到 {PREFIX}/bin/php,除非 CGI 已經(jīng)被放置在了那個位置。因此,例如,如果在配置行中有 --with--apxs,則在 make install 的過程中,CLI 將被拷貝到 {PREFIX}/bin/php。如果希望覆蓋 CGI 執(zhí)行文件的安裝,請在 make install 之后運行 make install-cli?;蛘撸部梢栽谂渲眯兄屑由? --disable-cgi 參數(shù)。

注意:

由于 --enable-cli--enable-cgi 同時默認有效,因此,不必再配置行中加上 --enable-cli 來使得 CLImake install 過程中被拷貝到 {PREFIX}/bin/php。

在 Windows 發(fā)行包中,CLI 在主目錄中的二進制文件名為 php.exe。CGI 版本的文件名為 php-cgi.exe。 如果 PHP 配置使用了 --enable-cli-win32,還會有一個額外的 php-win.exe 隨包發(fā)布。 它相當于 CLI 版本,但是 php-win 不輸出任何內(nèi)容,便不提供控制臺(不會彈出“DOS 窗口”)。

注意: 如何得知自己使用的是哪個 SAPI?

在命令行下,運行 php -v 便能得知該 phpCGI 還是 CLI。請參考函數(shù) php_sapi_name() 以及常量 PHP_SAPI。

注意:

在命令行中鍵入 man php 可以查看 Unix man 手冊頁面。