Apache HTTP Server 第 2.4 版
說明 | 使用外部 CGI 程式執行 CGI 腳本 |
---|---|
狀態 | Basis |
模組識別碼 | cgid_module |
來源檔案 | mod_cgid.c |
相容性 | 僅限於 Unix 多執行緒 MPM |
mod_cgid 的行為類似 mod_cgi,但經過優化且包含以下額外的 指令
ScriptSock
。請參閱 mod_cgi
摘要以進一步了解 Apache 和 CGI。
在特定 Unix 作業系統上,從多執行緒伺服器分成分支會造成龐大負擔,原因是新流程會重製所有母流程執行緒。為了避免每次呼叫 CGI 時都造成此負擔,mod_cgid
模組會建立負責分出一般程序來執行 CGI 腳本的外部程式。主伺服器會使用 Unix 領域套接字與該程式溝通。
當編譯過程中選取多執行緒 MPM 時,此模組會預設取代 mod_cgi
。在使用者層級,此模組的設定和作業與 mod_cgi
相同。唯一例外是額外的指令 ScriptSock
,此指令會提供與 CGI 程式溝通時要使用的套接字名稱。
說明 | 等待 CGI 程式輸出更多資料的長度時間 |
---|---|
語法 | CGIDScriptTimeout 時間[s|ms] |
預設值 | 未設定或設為 0 時,為 |
內容 | 伺服器組態,虛擬主機,目錄,.htaccess |
狀態 | Basis |
模組 | mod_cgid |
相容性 | 適用於 httpd 2.4.10 及後續版本;在先前的版本中,不套用時限制 |
此指令限制等待 CGI 程式輸出更多資料的長度時間。超過時間,請求和 CGI 則會終止。
CGIDScriptTimeout 20
說明 | 用於與 CGI 程式通訊的 socket 檔案名前綴 |
---|---|
語法 | ScriptSock 檔案路徑 |
預設值 | ScriptSock cgisock |
內容 | 伺服器組態 |
狀態 | Basis |
模組 | mod_cgid |
此指令設定與 CGI 程式通訊所使用的 socket 檔案名前綴,一個與伺服器程序 ID 相應的延伸功能將附加在後。此 socket 會使用啟動 Apache 的使用者權限開啟(通常是 root)。為維護與 CGI 程式通訊的安全,重要的是沒有其他使用者有權限在放置 socket 的目錄中寫入資料。
如果 檔案路徑 不是絕對路徑,指定的位置將相對於 DefaultRuntimeDir
的值。
ScriptSock /var/run/cgid.sock