CLI SAPI 模組主要用作 PHP 的開發外殼應用。CLI SAPI 和其它
SAPI
模組相比有很多的不同之處,我們將在本章中詳細闡述。值得一提的是,儘管 CLI
和 CGI
有很多共同的行為,但它們是不同的 SAPI。
CLI SAPI 模組會通過預設的 --enable-cli 參數設定啟用, 也可以在執行 ./configure 時用參數 --disable-cli 來遮蔽。
CLI/CGI 二進制執行檔案的檔名、位置和是否存在會根據
PHP 在系統上的安裝而不同。在預設情況下,當執行
make 時,CGI 和 CLI 都會被編譯並且分別放置在
PHP 原始檔目錄的 sapi/cgi/php-cgi 和
sapi/cli/php 下。可以注意到兩個檔案都被命名爲了
php。在 make install
的過程中會發生什麼取決於配置行。如果在配置的時候選擇了一個
SAPI 模組,如 apxs,或者使用了
--disable-cgi 參數,則在
make install 的過程中,CLI 將被拷貝到
{PREFIX}/bin/php,除非 CGI
已經被放置在了那個位置。因此,例如,如果在配置行中有
--with--apxs,則在
make install
的過程中,CLI 將被拷貝到
{PREFIX}/bin/php
。如果希望覆蓋 CGI
執行檔案的安裝,請在 make install
之後執行 make install-cli。或者,也可以在配置行中加上
--disable-cgi 參數。
注意:
由於 --enable-cli 和 --enable-cgi 同時預設有效,因此,不必再配置行中加上 --enable-cli 來使得 CLI 在 make install 過程中被拷貝到 {PREFIX}/bin/php。
在 Windows 發行包中,CLI 在主目錄中的二進制檔名為 php.exe。CGI 版本的檔名為 php-cgi.exe。 如果 PHP 配置使用了 --enable-cli-win32,還會有一個額外的 php-win.exe 隨包發佈。 它相當於 CLI 版本,但是 php-win 不輸出任何內容,便不提供控制檯(不會彈出「DOS 視窗」)。
注意: 如何得知自己使用的是哪個 SAPI?
在命令列下,執行 php -v 便能得知該 php 是 CGI 還是 CLI。請參考函式 php_sapi_name() 以及常量
PHP_SAPI
。
注意:
在命令列中鍵入 man php 可以檢視 Unix
man
手冊頁面。