php 的生命周期

      網友投稿 623 2025-04-03

      1、PHP的運行模式:

      PHP兩種運行模式是WEB模式、CLI模式。無論哪種模式,PHP工作原理都是一樣的,作為一種SAPI運行。

      1、當我們在終端敲入php這個命令的時候,它使用的是CLI。

      它就像一個web服務器一樣來支持php完成這個請求,請求完成后再重新把控制權交給終端。

      2、當使用Apache或者別web服務器作為宿主時,當一個請求到來時,PHP會來支持完成這個請求。一般有:

      多進程(通常編譯為apache的模塊來處理PHP請求)

      多線程模式

      簡要的執行過程:

      1. PHP是隨著Apache的啟動而運行的;

      2. PHP通過mod_php5.so模塊和Apache相連(具體說來是SAPI,即服務器應用程序編程接口);

      3. PHP總共有三個模塊:內核、Zend引擎、以及擴展層;

      4. PHP內核用來處理請求、文件流、錯誤處理等相關操作;

      5. Zend引擎(ZE)用以將源文件轉換成機器語言,然后在虛擬機上運行它;

      6. 擴展層是一組函數、類庫和流,PHP使用它們來執行一些特定的操作。比如,我們需要MySQL擴展來連接MySQL數據庫;

      7. 當ZE執行程序時可能會需要連接若干擴展,這時ZE將控制權交給擴展,等處理完特定任務后再返還;

      8. 最后,ZE將程序運行結果返回給PHP內核,它再將結果傳送給SAPI層,最終輸出到瀏覽器上。

      2. 運行PHP的幾個階段:

      SAPI運行PHP都經過下面幾個階段:

      1、模塊初始化階段(Module init) :

      即調用每個擴展源碼中的的PHP_MINIT_FUNCTION中的方法初始化模塊,進行一些模塊所需變量的申請,內存分配等。

      2、請求初始化階段(Request init) :

      即接受到客戶端的請求后調用每個擴展的PHP_RINIT_FUNCTION中的方法,初始化PHP腳本的執行環境。

      3、執行PHP腳本

      4、請求結束(Request Shutdown) :

      這時候調用每個擴展的PHP_RSHUTDOWN_FUNCTION方法清理請求現場,并且ZE開始回收變量和內存。

      5、關閉模塊(Module shutdown) :

      Web服務器退出或者命令行腳本執行完畢退出會調用擴展源碼中的PHP_MSHUTDOWN_FUNCTION 方法

      3. 各種情況下的SAPI生命周期。

      1. 單進程SAPI生命周期。(CGI)

      CLI/CGI模式的PHP屬于單進程的SAPI模式。這類的請求在處理一次請求后就關閉。也就是說每次請求都會重復這幾個環節: 開始 - 請求開始 - 請求關閉 - 結束 。可以看到擴展的初始化花費了很多資源。

      2. 多進程SAPI生命周期。(MPM的perfork方式)

      php 的生命周期

      通常PHP是編譯為apache的一個模塊來處理PHP請求(mod_php)。Apache一般會采用多進程模式, Apache啟動后會fork出多個子進程(apache里可以指定開始fork出來的進程數)。每個進程的內存空間獨立,每個子進程剛被fock出來都會經過開始和結束環節。

      3. 多線程的SAPI生命周期。(FastCGI或者MPM的work方式里的單個進程)

      多線程模式和多進程中的某個進程類似,在這種模式下,只有一個服務器進程在運行著,但會同時運行很多線程,這樣可以減少一些資源開銷,向Module init和Module shutdown就只需要運行一遍就行了,一些全局變量也只需要初始化一次,因為線程獨具的特質,使得各個請求之間方便的共享一些數據成為可能。

      PHP 任務調度

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:怎樣換背景(微信怎樣換背景)
      下一篇:word繪制表格(word繪制表格在哪)
      相關文章
      亚洲国产精品综合久久一线| 亚洲人片在线观看天堂无码| 青青青亚洲精品国产| 精品国产成人亚洲午夜福利| 亚洲国产品综合人成综合网站| 亚洲美免无码中文字幕在线| 亚洲视频精品在线观看| 亚洲最新永久在线观看| 亚洲av鲁丝一区二区三区| 亚洲AV永久青草无码精品| 亚洲AV永久青草无码精品| 亚洲视频在线免费观看| 久久亚洲国产成人精品性色| 中文字幕亚洲精品| 亚洲精品自拍视频| 亚洲二区在线视频| 亚洲男人天堂2018av| 国产亚洲精品VA片在线播放| 亚洲无码一区二区三区 | 亚洲乱亚洲乱妇24p| 亚洲欧美日韩一区二区三区在线| 亚洲欧洲AV无码专区| 亚洲欧美日韩中文二区| 国产亚洲精品美女久久久久久下载| 亚洲第一页综合图片自拍| 精品亚洲视频在线观看 | 亚洲精品第一综合99久久| 亚洲综合久久精品无码色欲| 亚洲av无码专区在线观看下载 | 日韩精品亚洲专区在线观看| 亚洲日韩国产精品乱| 亚洲中文字幕第一页在线 | 狠狠综合亚洲综合亚洲色| 亚洲国产成人VA在线观看| 国产亚洲精午夜久久久久久| 国产亚洲美女精品久久久久狼| 亚洲视频在线观看一区| 亚洲一卡2卡3卡4卡国产网站| 亚洲av中文无码乱人伦在线观看| 国产精品亚洲精品日韩动图| 在线日韩日本国产亚洲|