CGI、FastCGI 和 PHP_FPM到底有什麼關係?

來源:互聯網
上載者:User

最近在使用vagrant搭建php的開發環境。其中在搭建調試過程中,發現了很多問題(畢竟之前一直在用整合式開發環境,一鍵安裝搞定。。)。進而調查了下CGI FastCGI 與 PHP-FPM 現總結如下:

一次請求過程概括

當你使用瀏覽器訪問了index.php,到底經曆了什麼呢?

看完這張圖是不是有點清晰了?下面具體講解下。

當你輸入url地址訪問index.php時,你的瀏覽器(用戶端)會發送請求到你的伺服器(nginx,apache等),但是伺服器只能處理html等靜態資源,像php,jsp這些動態資原始伺服器是無法處理的,所以需要特定的解析器去處理,那麼伺服器與解析器是怎麼通訊(聯絡)的呢?就用到了CGI,它們通過CGI去通訊,通訊之後就需要使用PHP-FPM去解析php檔案了,解析完成之後,返回給伺服器,伺服器再返回給瀏覽器(用戶端),這樣一次請求過程就結束了。

所以:

  • CGI 是 Web Server 與 Web Application 之間資料交換的一種協議。

  • FastCGI:同 CGI,是一種通訊協定,但比 CGI 在效率上做了一些最佳化。

  • PHP-CGI:是 PHP (Web Application)對 Web Server 提供的 CGI 協議的介面程式。

  • PHP-FPM:是 PHP(Web Application)對 Web Server 提供的 FastCGI 協議的介面程式,額外還提供了相對智能一些任務管理。

參考資料
CGI、FastCGI和PHP-FPM關係圖解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.