CGI 和指令行設定

預設為將 PHP 編譯為 CGI 程式。這將建立一個指令行直譯器,可用於 CGI 處理或非 web 關聯的 PHP 腳本。若果會員運行著一個 PHP 模組支援的 web 伺服器,那通常為效能考慮應該使用模組模式。不過,CGI 版可以使 Apache 會員用不同的會員 ID 運行不同的 PHP 頁面。

警示

若果使用 CGI 模式安裝,則伺服器對於某些可能的攻擊是開放的。請閱讀 CGI 安全一章以學習如何防禦這些攻擊。

自 PHP 4.3.0 起,PHP 有了一些重要的新增功能。又有了一個新的 SAPI 稱為 CLI,和 CGI 程式同名。根據配置選項它安裝在 {PREFIX}/bin/php,並在手冊中 PHP 的指令行模式一章中有詳細說明。更多細節請閱讀該章節。

測試

若果將 PHP 編譯為 CGI 程式,可以通過鍵入 make test 來測試你的編譯。測試一下編譯永遠是個好主意。這樣就可以在你的平台上及早捕捉到 PHP 的問題而不是以後再費力的解決。

基準測試

若果將 PHP 3 編譯為 CGI 程式,可以通過鍵入 make bench 來進行一下效能的基準測試。注意若果預設開啟了安全模式,則超過 30 秒的容許範圍測試可能不能完成。這是因為 set_time_limit() 不能用於安全模式。用 max_execution_time 配置選項來為你自己的腳本控制此時間限制。make bench 會忽略配置檔

注: make bench 僅能用於 PHP 3。

使用變量

某些伺服器提供的環境變量沒有定義在現用的的 CGI/1.1 標準中。只有下列變量定義在其中:AUTH_TYPECONTENT_LENGTHCONTENT_TYPEGATEWAY_INTERFACEPATH_INFOPATH_TRANSLATEDQUERY_STRINGREMOTE_ADDRREMOTE_HOSTREMOTE_IDENTREMOTE_USERREQUEST_METHODSCRIPT_NAMESERVER_NAMESERVER_PORTSERVER_PROTOCOLSERVER_SOFTWARE。其它的變量均作為「提供者增加(vendor extensions)」來對待。