欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

PHP-FPM跟php有什么關(guān)系

這篇文章主要講解了“PHP-FPM跟php有什么關(guān)系”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP-FPM跟php有什么關(guān)系”吧!

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、昌寧網(wǎng)絡(luò)推廣、小程序開發(fā)、昌寧網(wǎng)絡(luò)營銷、昌寧企業(yè)策劃、昌寧品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供昌寧建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.chinadenli.net

HP最常用的方式是以模塊的方式(mod_php)運行在Apache中,也是Apache運行PHP的默認方式;但在Nginx中,Nginx又使用的是PHP-FPM,但是PHP-FPM到底是個什么東東?跟php有什么關(guān)系?下面創(chuàng)新互聯(lián)小編來講解下PHP-FPM是什么?PHP-FPM跟php有什么關(guān)系?

PHP-FPM是什么

首先需要記住的是,任何一種Web服務(wù)器(Apache、Nginx等)都是被設(shè)計成向用戶發(fā)送html、圖片等靜態(tài)資源的,Web服務(wù)器自身并不能解釋任何動態(tài)腳本(PHP、Python等)。

PHP處理器就是用來解釋Web應(yīng)用中的PHP代碼,并將它解釋為HTML或其他靜態(tài)資源,然后將解析的結(jié)果傳給Web服務(wù)器,最后再由Web服務(wù)器發(fā)送給用戶。

大多數(shù)的Web服務(wù)器都不能解析PHP代碼,因此它需要一個能解析PHP代碼的程序,這就是PHP處理器。

現(xiàn)在我們知道了,Apache與Nginx都需要PHP處理器來處理php代碼,那么怎么連接上服務(wù)器與php處理器呢?也就是說服務(wù)器與php處理器如何通信?

答案是通過SAPI(ServerApplicationProgrammingInterface服務(wù)器端應(yīng)用編程端口),簡單來說,SAPI指的是PHP具體應(yīng)用的編程接口,就像PC一樣,無論安裝哪些操作系統(tǒng),只要滿足了PC的接口規(guī)范都可以在PC上正常運行,PHP腳本要執(zhí)行有很多種方式,通過Web服務(wù)器,或者直接在命令行下,也可以嵌入在其他程序中,有興趣大家可以研究PHP內(nèi)核。

我們這里繼續(xù)討論PHP最常用的SAPI提供的2種連接方法:mod_php和mod_fastcgi。

mod_php模式

咱們回顧一下,Apache是怎么能夠識別php代碼的?是不是Apache的配置文件httpd.conf中加上或者修改這樣幾句:

//添加

LoadModulephp5_modulemodules/libphp5.so

AddTypeapplication/x-httpd-php.php

//修改

DirectoryIndexindex.phpindex.htmlindex.htmindex.html

也即php作為Apache的一個子模塊來運行,當通過web訪問php文件時,Apache就會調(diào)用php5_module來解析php代碼。

配置加載mod_php模塊后,php便是Apahce進程本身一部分,每個新的Apache子進程都會加載此模塊。

mod_fastcgi模式

我們先看PHP-FPM官網(wǎng)的說明:

PHP-FPM–AsimpleandrobustFastCGIProcessManagerforPHP

PHP-FPM(FastCGIProcessManager)isanalternativePHPFastCGIimplementationwithsomeadditionalfeaturesusefulforsitesofanysize,especiallybusiersites.

PHP-FPM跟php有什么關(guān)系

PHP-FPM是一個PHP的FastCGI進程管理器,解釋的非常簡單。這說明PHP-FPM是輔助mod_fastcgi模式進行工作的,然而FastCGI又是個什么東西?管理著什么進程?

什么是CGI?

CGI(CommonGatewayInterface)是WWW技術(shù)中最重要的技術(shù)之一,有著不可替代的重要地位。

CGI是外部應(yīng)用程序(CGI程序)與Web服務(wù)器之間的接口標準,是在CGI程序和Web服務(wù)器之間傳遞信息的規(guī)程。

CGI規(guī)范允許Web服務(wù)器執(zhí)行外部程序,并將它們的輸出發(fā)送給Web瀏覽器,CGI將Web的一組簡單的靜態(tài)超媒體文檔變成一個完整的新的交互式媒體。

說白了,CGI是一種外部應(yīng)用程序(CGI程序)與Web服務(wù)器的協(xié)議,CGI是為了保證Server傳遞過來的數(shù)據(jù)是標準格式。

什么是FastCGI?

FastCGI像是一個常駐(long-live)型的CGI,它可以一直執(zhí)行著,只要激活后,不會每次都要花費時間去fork一次(這是CGI最為人詬病的fork-and-execute模式)。它還支持分布式的運算,即FastCGI程序可以在網(wǎng)站服務(wù)器以外的主機上執(zhí)行并且接受來自其它網(wǎng)站服務(wù)器來的請求。

FastCGI是語言無關(guān)的、可伸縮架構(gòu)的CGI開放擴展,其主要行為是將CGI解釋器進程保持在內(nèi)存中并因此獲得較高的性能。眾所周知,CGI解釋器的反復加載是CGI性能低下的主要原因,假如CGI解釋器保持在內(nèi)存中并接受FastCGI進程管理器調(diào)度,則可以提供良好的性能、伸縮性、Fail-Over特性等等。

一般情況下,F(xiàn)astCGI的整個工作流程是這樣的:

WebServer啟動時載入FastCGI進程管理器(IISISAPI或ApacheModule)。FastCGI進程管理器自身初始化,啟動多個CGI解釋器進程(可見多個php-cgi)并等待WebServer的連接。當客戶端請求到達WebServer時,F(xiàn)astCGI進程管理器選擇并連接到一個CGI解釋器。Webserver將CGI環(huán)境變量和標準輸入發(fā)送到FastCGI子進程php-cgi。FastCGI子進程完成處理后將標準輸出和錯誤信息從同一連接返回WebServer。當FastCGI子進程關(guān)閉連接時,請求便告處理完成,F(xiàn)astCGI子進程接著等待并處理來自FastCGI進程管理器(運行在WebServer中)的下一個連接,在CGI模式中,php-cgi在此便已經(jīng)退出。

也就是說FastCGI是CGI的升級版,一種語言無關(guān)的協(xié)議,用來溝通程序(如PHP,Python,Java)和Web服務(wù)器(Apache2,Nginx),理論上任何語言編寫的程序都可以通過FastCGI來提供Web服務(wù)。

FastCGI的特點是會在一個進程中依次完成多個請求,以達到提高效率的目的,大多數(shù)FastCGI實現(xiàn)都會維護一個進程池。

通俗解釋:FastCGI事先就需要啟動,而且可以啟動多個CGI模塊,在那里一直運行等著web發(fā)請求,然后再給php解析運算,完成后生成html返回給web后,但是完成后它不會退出,而是繼續(xù)等著下一個web請求。

PHP-FPM

PHP-FPM就是針對于PHP的FastCGI的一種實現(xiàn),他負責管理一個進程池,來處理來自Web服務(wù)器的請求。

但是PHP-FPM僅僅是個“PHPFastCGI進程管理器”,它仍會調(diào)用PHP解釋器本身來處理請求,PHP解釋器(在Windows下)就是php-cgi.exe。

感謝各位的閱讀,以上就是“PHP-FPM跟php有什么關(guān)系”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對PHP-FPM跟php有什么關(guān)系這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

當前名稱:PHP-FPM跟php有什么關(guān)系
URL地址:http://www.chinadenli.net/article2/goccoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作網(wǎng)站導航Google網(wǎng)站策劃網(wǎng)頁設(shè)計公司網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)