PHP生命週期

2021-09-07 01:59:09 字數 660 閱讀 3201

2015-08-19 15:05:30 週三

一篇很好的文章

php核心探索

總結一下

1. 模組初始化 minit

各個php模組/擴充套件初始化內部變數, 告訴php呼叫自己的函式時, 函式體在**(到php那裡去註冊自己的函式)

2. 請求初始化 rinit

初始化session, 全域性變數... 等只針對當前請求的一些變數設定

zend engine 將php**轉換為opcode

呼叫了相關的模組處理函式的話, zend engine 把請求引數資訊給這些模組處理, 然後接收返回結果

zend engine 將返回結果給php核心

php核心再傳遞給web伺服器

3. 結束請求 rshutdown

將初始化時申請的記憶體或檔案等資源釋放掉

4. 結束模組 mshutdown

收回模組初始化時申請的資源

多程序&多執行緒

如果是每乙個請求乙個程序的話, 每乙個請求來的時候都是執行上邊4步

如果是多執行緒的話, 只是執行一次第1步, 將php的所有模組初始化後, 每次處理進來的乙個請求都只執行rinit, 處理完成後只是釋放rinit的資源,而不釋放minit請求的資源, 以便下乙個請求使用, 除非web伺服器關閉, 才執行mshutdown

PHP生命週期

2015 08 19 15 05 30 週三 一篇很好的文章 php核心探索 總結一下 1.模組初始化 minit 各個php模組 擴充套件初始化內部變數,告訴php呼叫自己的函式時,函式體在 到php那裡去註冊自己的函式 2.請求初始化 rinit 初始化session,全域性變數.等只針對當前請...

React 生命週期 生命週期方法

生命週期 掛載 更新 解除安裝 元件被建立 執行初始化 並被掛載到dom中,完成元件的第一次渲染 constructor props getderivedstatefromprops props,state render componentdidmount 元件被建立時會首先呼叫元件的構造方法,接受...

actived生命週期 Vuejs 生命週期

每個 vue 例項在被建立時都要經過一系列的初始化過程。如需要設定資料監聽 編譯模板 將例項掛載到 dom 並在資料變化時更新 dom 等。同時在這個過程中也會執行一些叫做生命週期鉤子的函式,這給了使用者在不同階段新增自己的 的機會。乙個 vue 例項 我們建立乙個 vue 例項,並在每個階段驗證 ...