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

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

CLI SAPI 模組會通過預設的 --enable-cli 參數設定啟用, 也可以在執行 ./configure 時用參數 --disable-cli 來遮蔽。

CLI/CGI 二進制執行檔案的檔名、位置和是否存在會根據 PHP 在系統上的安裝而不同。在預設情況下,當執行 make 時,CGI 和 CLI 都會被編譯並且分別放置在 PHP 原始檔目錄的 sapi/cgi/php-cgisapi/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 來使得 CLImake install 過程中被拷貝到 {PREFIX}/bin/php

在 Windows 發行包中,CLI 在主目錄中的二進制檔名為 php.exeCGI 版本的檔名為 php-cgi.exe。 如果 PHP 配置使用了 --enable-cli-win32,還會有一個額外的 php-win.exe 隨包發佈。 它相當於 CLI 版本,但是 php-win 不輸出任何內容,便不提供控制檯(不會彈出「DOS 視窗」)。

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

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

注意:

在命令列中鍵入 man php 可以檢視 Unix man 手冊頁面。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *