PHP的SAPI【web server与应用程序沟通的标准泛称】:CGI、FastCGI 【web server与应用程序的具体标准】及其对应程序PHP-CGI PHP-FPM【具体的程序应用】
生活随笔
收集整理的這篇文章主要介紹了
PHP的SAPI【web server与应用程序沟通的标准泛称】:CGI、FastCGI 【web server与应用程序的具体标准】及其对应程序PHP-CGI PHP-FPM【具体的程序应用】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 Web Server與app傳遞數據的方法:Apache采用加載模塊的方式
apache-> httpd[apache的進程]-> LoadModule->php5_module(把php作為apache的一個子模塊來運行)-> SAPI [傳遞數據給php cgi或者fastcgi是進行轉換數據的一種協議 進行轉換接收到的數據php-cgi是針對cgi協議的接口程序,,他自己本身只能解析請求,返回結果,不會進程管理php-fpm是針對fastcgi協議的接口程序,,他自己本身能夠解析請求,返回結果,也會進程管理 ]2 CGI?FastCGI
CGI
是 Web Server 與 Web Application 之間數據交換的一種協議。 優點:CGI的好處就是完全獨立于任何服務器,僅僅是做為中間分子。提供接口給web服務器和web應用(如提 nginx和php)。他們通過cgi搭線來完成數據傳遞。使他們變得更獨立。 缺點:但是CGI有個難受的地方,就是每一次web請求都會有啟動和退出過程,也就是最為人詬病的fork-and- execute模式,這樣一在大規模并發下,就死翹翹了。FastCGI
FastCGI是用來提高CGI程序性能的。類似于CGI,FastCGI也可以說是一種協議。 FastCGI像是一個常駐(long-live)型的CGI,它可以一直執行著, 只要激活后,不會每次都要花費時間去fork一次。CGI的處理過程:每進程消耗7至25兆內存
1 當收到請求后,會啟動對應的php-cgi,Pphpcgi會解析php.ini,初始化執行環境, 2 處理完成后 再以規定的CGI規定的格式返回結果,退出進程FASTCGI的處理過程
1 FastCGI程序會先啟動一個master,解析配置環境,初始化環境,然后再啟動多個worker。 2 當請求過來時,master會傳遞給一個worker,然后立即可以接受下一個請求。?
總結
以上是生活随笔為你收集整理的PHP的SAPI【web server与应用程序沟通的标准泛称】:CGI、FastCGI 【web server与应用程序的具体标准】及其对应程序PHP-CGI PHP-FPM【具体的程序应用】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 淘宝上市是哪一年
- 下一篇: 动态规划算法php,php算法学习之动态