首先我們來講CGI
#cgi 是協議,跟進程無關,例如web server (nginx) 接收到一個php 的網路請求,此時nginx 需要根據設定文件,去找php 的解析器,經過簡單處理,將請求的一些資訊交給php 解析器,此時就規定了要傳那些協議,還有以什麼樣的格式傳輸,這個標準就叫做cgi 協議
php 解釋是實現了這個協議的cgi 程序,nginx 將這些內容交給php解釋器後,讀取php.ini 等初始化環境,然後處理數據,最終轉換成符合這個協議的數據流交給nginx, 最終返回給瀏覽器【推薦:PHP視頻教程】
fast-cgi 管理cgi 程式
#fast-cgi 是常駐程序的程序,與cgi 為每個web 請求建立一個進程不同的是,fast-cgi 在web server 啟動的時候會同時啟動多個cgi 程序,這樣當進來動態頁面請求的時候,就可以將資料流交由fast-cgi 進程管理器,這樣做的好處就是web server 可以處理更多的請求,並且解析php.ini 這些工作只進行一次,提高回應速度,
php-fpm 管理cgi 程式
以上是cgi、fast-cgi、php-fpm的關係(附流程圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!