PHP底層探索(四):SAPI的生命週期

CLI/CGI模式的PHP屬於單進程的SAPI模式。這類的請求在處理一次請求後就關閉。也就是隻會經過如下幾個環節: 開始 - 請求開始 - 請求關閉 - 結束 SAPI接口實現就完成了其生命週期。
這裏寫圖片描述
單進程多請求則如下圖所示:
這裏寫圖片描述

多進程的SAPI生命週期
通常PHP是編譯爲apache的一個模塊來處理PHP請求。Apache一般會採用多進程模式, Apache啓動後會fork出多個子進程,每個進程的內存空間獨立,每個子進程都會經過開始和結束環節, 不過每個進程的開始階段只在進程fork出來以來後進行,在整個進程的生命週期內可能會處理多個請求。 只有在Apache關閉或者進程被結束之後纔會進行關閉階段,在這兩個階段之間會隨着每個請求重複請求開始-請求關閉的環節。
這裏寫圖片描述
多線程SAPI生命週期
多線程模式和多進程中的某個進程類似,不同的是在整個進程的生命週期內會並行的重複着 請求開始-請求關閉的環節。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章