溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP程序的生命周期介紹

發(fā)布時間:2020-06-01 22:10:11 來源:億速云 閱讀:221 作者:鴿子 欄目:編程語言

php的架構(gòu)圖

PHP程序的生命周期介紹

SAPI

SAPI(Server Application Programming Interfac) is an application programming interface (API) provided by the web server to help other developers in extending the web server capabilities.

SAPI是一個用來幫助其他開發(fā)程序擴(kuò)展web服務(wù)器功能的應(yīng)用程序接口(api)。它將外部條件抽象, 為內(nèi)部的PHP提供一套固定統(tǒng)一的接口, 使得PHP自身實現(xiàn)能夠不受外部環(huán)境影響,保持一定的獨立性。
PHP中常用的SAPI有cli(命令行模式,單進(jìn)程)、php-fpm、CGI、Apache...
有點像策略模式,使用相同的接口,但是實現(xiàn)會略有不同。

PHP程序的生命周期介紹

PHP的啟動和終止

請求之前的開始階段:

MINIT:模塊初始化階段。初始化一些擴(kuò)展、常量、類、資源等所有被php腳本用到的東西。(常駐內(nèi)存,可以被所有請求使用。)PRINT:模塊激活階段。PHP會調(diào)用所有模塊的RINIT函數(shù),在這個階段各個模塊也可以執(zhí)行一些相關(guān)的操作,比如初始化本次請求使用到的變量。

請求之后的結(jié)束階段:

RSHUTDOWN:這個頁面請求執(zhí)行完畢,或者被用戶給die(exit)了, 這時PHP會啟動回收程序,回收本次請求使用的資源。這次會執(zhí)行所有已加載擴(kuò)展的RSHUTDOWN(俗稱Request Shutdown)方法, 這時候擴(kuò)展可以利用內(nèi)核中的變量表等做的一些事情。因為PHP一旦把所有擴(kuò)展的RSHUTDOWN方法執(zhí)行完,便會釋放掉這次請求使用過的所有資源,比如變量表的所有變量、所有在這次請求中申請的內(nèi)存等。MSHUTDOWN:PHP執(zhí)行所有擴(kuò)展的MSHUTDOWN,釋放資源。

PHP的生命周期

1.單進(jìn)程SAPI生命周期(CLI/CGI)

PHP程序的生命周期介紹

2.多進(jìn)程SAPI生命周期(Apache2)

PHP程序的生命周期介紹

3.多線程的SAPI生命周期

PHP程序的生命周期介紹

4.Embed

Embed SAPI是一種比較特殊的sapi,容許你在C/C++語言中調(diào)用PHP/ZE提供的函數(shù)

以上就是PHP生命周期的詳細(xì)內(nèi)容,更多請關(guān)注億速云其它相關(guān)文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI