PHP CGI(Common Gateway Interface)和FastCGI(Fast Common Gateway Interface)是兩種不同的方式來處理PHP腳本。
CGI:CGI是一種通用的網關接口,它是一種進程外的處理方式。當Web服務器接收到一個請求時,它會啟動一個CGI進程來處理該請求,并將請求傳遞給CGI進程。CGI進程會執行PHP腳本,并將結果返回給Web服務器,然后Web服務器將結果發送給客戶端。每次請求都需要啟動一個新的CGI進程,這會造成一定的性能損失。
FastCGI:FastCGI是一種改進的CGI協議。它與CGI的主要區別在于,FastCGI進程可以保持長時間運行,以便處理多個請求。當Web服務器接收到一個請求時,它會將請求傳遞給已經啟動的FastCGI進程,而不是每次都啟動一個新的進程。這樣可以減少進程啟動和關閉的開銷,提高性能。FastCGI還支持并發處理請求,可以同時處理多個請求,提高了PHP腳本的運行效率。
總結:
CGI是進程外的處理方式,每次請求都需要啟動一個新的進程,性能較低;
FastCGI是一種改進的CGI協議,支持長時間運行的進程,可以并發處理多個請求,性能較高。