CGI 和命令行設(shè)置

默認(rèn)為將 PHP 編譯為 CLICGI 程序。這將建立一個(gè)命令行解釋器,可用于 CGI 處理或非 web 相關(guān)的 PHP 腳本。如果用戶運(yùn)行著一個(gè) PHP 模塊支持的 web 服務(wù)器,那通常為性能考慮應(yīng)該使用模塊方式。不過 CGI 版可以使 Apache 用戶用不同的用戶 ID 運(yùn)行不同的 PHP 頁面。

警告

服務(wù)器使用 CGI 方式進(jìn)行部署可能存在幾個(gè)公開的缺陷。請(qǐng)閱讀 CGI 安全一章 以學(xué)習(xí) 如何抵御這些攻擊。

測試

如果將 PHP 編譯為 CGI 程序,可以通過鍵入 make test 來測試你的編譯。測試一下編譯永遠(yuǎn)是個(gè)好主意。這樣就可以在你的平臺(tái)上及早捕捉到 PHP 的問題而不是以后再費(fèi)力的解決。

使用變量

某些服務(wù)器提供的環(huán)境變量沒有定義在當(dāng)前的 ? CGI/1.1 標(biāo)準(zhǔn)中。只有下列變量定義在其中: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOLSERVER_SOFTWARE。其它的變量均作為“供應(yīng)商擴(kuò)展(vendor extensions)”來對(duì)待。