php web運行流程

1.php簡單介紹
php茂卦,超文本預(yù)處理語言豁生,超文本可以聯(lián)想到html,可以解釋php也是一門web端語言捣鲸,當然php當今主要用法也是用在web上瑟匆。 預(yù)處理顧名思義,提前處理的意思栽惶,我的理解是我們執(zhí)行html文件時只要通過瀏覽器打開愁溜,瀏覽器會實時渲染代碼。當執(zhí)行php文件時外厂,我們需要先通過web服務(wù)器轉(zhuǎn)發(fā)給php解釋器處理返回html代碼冕象,php解釋器會執(zhí)行嵌入在php文件中的php代碼,這樣返回給瀏覽器渲染的代碼其實已經(jīng)提前處理過了汁蝶。

2.php web請求運行流程
說起php web不得不提起web服務(wù)器渐扮,與php結(jié)合比較緊密的服務(wù)器主要有兩種,nginxapache掖棉,區(qū)別可自行百度墓律。
在介紹流程之前需要先介紹幾個概念:

  • sapi
    php對外通信接口。
    由于php不能直接處理http請求幔亥,所以它定義了一組接口與web服務(wù)器進行通信耻讽,這組接口有幾種,比較常見的是cgi/fastcgi帕棉,apache2 handler针肥,cli饼记,打開phpinfo可以看見配置的是哪種

    cgi/fastcgi

    apache2 handler

  • cgi
    cgi叫網(wǎng)關(guān)通信協(xié)議,他是一種協(xié)議祖驱,介于web服務(wù)器與cgi程序之間握恳,它規(guī)定了web服務(wù)器該把數(shù)據(jù)以怎樣的數(shù)據(jù)結(jié)構(gòu)傳給cgi程序,然后cgi程序處理完代碼之后該以怎樣的數(shù)據(jù)結(jié)構(gòu)把數(shù)據(jù)回傳給web服務(wù)器捺僻。

  • php-cgi
    phpcgi程序,可以通過php的實現(xiàn)了cgi協(xié)議的cgi/fastcgi接口接受數(shù)據(jù)處理崇裁,不過cgi 有個很坑的地方匕坯,每次web請求都會啟動一次cgi程序然后再退出,這樣對大規(guī)模并發(fā)并不友好拔稳。

  • fastcgi
    為了優(yōu)化以上問題葛峻,所以引出了fastcgifastcgi可以看成cgi協(xié)議的升級版巴比,它事先早早啟動多個cgi程序术奖,等待web請求,處理完了之后也不會退出轻绞,等待下一個請求采记。

  • php-fpm
    實現(xiàn)了fastcgiphp進程管理器,php-fpm啟動時有三種模式政勃,即靜態(tài)唧龄,動態(tài),按需奸远。我們一般用的是動態(tài)既棺,在php-fpm啟動時預(yù)先啟動一個主進程和20個子進程(可配置),請求空閑或請求繁忙是會自動killfork一個子進程懒叛,但不能高于配置好的最大子進程數(shù)與最小子進程數(shù)丸冕。主進程負責(zé)分發(fā)(其實子進程會競爭)web請求給子進程,同時解析配置文件薛窥,初始化執(zhí)行環(huán)境胖烛,對子進程進行管理,而子進程只負責(zé)處理拆檬,至于什么時候退出處理狀態(tài)洪己,什么時候kill,均交給主進程竟贯。php-fpm通常與nginx一起配合使用答捕。

  • apache處理php web程序
    apache一般是將php作為自己單獨的模塊去進行處理,php5.xphp5_module模塊屑那,php7.xphp7_module拱镐,apache通過這些模塊與php 通信艘款,這種模式每次請求apache都會產(chǎn)生一條進程,關(guān)鍵apache還是同步阻塞的沃琅,請求需要等著處理返回結(jié)果哗咆,這樣一旦達到進程的最大數(shù),那下面的請求就需要排隊益眉,這就造成了大規(guī)模并發(fā)的問題晌柬。

    apache處理

  • nginx處理php web程序
    nginx一般和php-fpm配合起來用,準確來說是配合實現(xiàn)fastcgi的程序來使用郭脂,拿 php-fpm來說年碘,它本身實現(xiàn)了動態(tài)管理進程,已經(jīng)節(jié)省了資源展鸡,而nginx又是異步非阻塞的屿衅,請求無需等待返回子進程就可以接受處理新的請求,再加上可以通過fastcgi_pass轉(zhuǎn)發(fā)請求給其他的web服務(wù)器減少壓力莹弊,從而能承受較大并發(fā)涤久。

    nginx處理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市忍弛,隨后出現(xiàn)的幾起案子响迂,更是在濱河造成了極大的恐慌,老刑警劉巖剧罩,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件栓拜,死亡現(xiàn)場離奇詭異,居然都是意外死亡惠昔,警方通過查閱死者的電腦和手機幕与,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來镇防,“玉大人啦鸣,你說我怎么就攤上這事±囱酰” “怎么了诫给?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長啦扬。 經(jīng)常有香客問我中狂,道長,這世上最難降的妖魔是什么扑毡? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任胃榕,我火速辦了婚禮,結(jié)果婚禮上瞄摊,老公的妹妹穿的比我還像新娘勋又。我一直安慰自己苦掘,他們只是感情好,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布楔壤。 她就那樣靜靜地躺著鹤啡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蹲嚣。 梳的紋絲不亂的頭發(fā)上递瑰,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機與錄音隙畜,去河邊找鬼泣矛。 笑死,一個胖子當著我的面吹牛禾蚕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播狂丝,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼换淆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了几颜?” 一聲冷哼從身側(cè)響起倍试,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蛋哭,沒想到半個月后县习,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡谆趾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年躁愿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沪蓬。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡彤钟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出跷叉,到底是詐尸還是另有隱情逸雹,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布云挟,位于F島的核電站梆砸,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏园欣。R本人自食惡果不足惜帖世,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望俊庇。 院中可真熱鬧狮暑,春花似錦鸡挠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缔逛,卻和暖如春备埃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背褐奴。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工按脚, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人敦冬。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓辅搬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脖旱。 傳聞我的和親對象是個殘疾皇子堪遂,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容