預設情況下,PHP 會同時建置為 CLI 和 CGI 程式,可用於 CGI 處理。如果您正在執行 PHP 支援模組的網路伺服器,基於效能考量,通常應該選擇該解決方案。然而,CGI 版本允許使用者以不同的使用者 ID 執行不同的 PHP 啟用頁面。
以 CGI 模式部署的伺服器容易受到幾種可能的漏洞攻擊。請閱讀我們的 CGI 安全性章節 以了解如何防禦此類攻擊。
如果您已將 PHP 建置為 CGI 程式,您可以輸入 make test 來測試您的建置。測試您的建置總是一個好主意。這樣您就可以及早發現 PHP 在您的平台上的問題,而不必在以後苦苦掙扎。
目前 » CGI/1.1 規範 中並未定義某些 伺服器提供的環境變數。其中僅定義了以下變數: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_PROTOCOL 和 SERVER_SOFTWARE。其他所有變數都應視為「廠商擴充功能」。