Apache启动过程(PHP_MINIT_FUNCTION的调用)
生活随笔
收集整理的這篇文章主要介紹了
Apache启动过程(PHP_MINIT_FUNCTION的调用)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
信件內容,to eng-all;
Hi all:
上次我做的講座中,講到,PHP模塊的MINIT_FUNCTION在多進程的環境下,會被調用多次,也就是,每個apache的自進程都會去調用一次。
今天早上的時候,學鵬經過實際驗證發現事實不是這樣。
于是經過反復驗證 ,終于得出如下結論:
當Apache啟動的時候,主進程會首先把所有模塊load進來,然后又卸載掉 他們,這是第一遍,目的是為了檢查配置文件。如果一切正常,Apache就會重新 load一便所有的模塊,然后才fork子進程,這樣,PHP模塊就會只被初始化一次, 然后在fork的時候復制給子進程。
當apache關閉的時候 ,每個自進程都會去調用一次模塊的關閉函數。
也就是說, PHP模塊的初始化函數只會被調用一次,而關閉函數會被調用多次。
猜想是因為apache1.5x以后,做了優化,造成現在的這種機制,apache1.3應 該還是和我當時講的一樣。
最后,非常感謝學鵬的實際驗證,沒有實際驗證,這個問題就不會被發現。
真正要了解一個東西,不應該只是聽聽就算,應該去動手驗證一下,再次對學 鵬師兄表示,贊!
來源:http://www.laruence.com/2008/07/24/206.html
總結
以上是生活随笔為你收集整理的Apache启动过程(PHP_MINIT_FUNCTION的调用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小规模季度45万免税会计分录
- 下一篇: 自己动手用C扩展PHP(三)