[Swoole入門到進階] [精選公開課] Swoole服務器-Server的四層生命週期

 

 PHP 完整生命週期php

 

  執行PHP文件html

    PHP擴展模塊初始化(MINIT)git

      PHP擴展請求初始化(RINIT)github

      執行 PHP 邏輯瀏覽器

      PHP擴展請求結束(RSHUTDOWN)swoole

      PHP腳本清理ide

    PHP擴展模塊結束(MSHUTDOWN)php-fpm

  終止PHPspa

 

 PHP 請求生命週期htm

 

  若是是 cli 執行 PHP 腳本,那麼會完整執行整個過程,由於存在進程建立。

  若是是 php-fpm 請求響應階段,那麼會執行中間四步過程,等到 fpm 進程退出才執行擴展模塊清理工做。

 

Swoole Server 四層生命週期

 

  程序全局期:Server->start 以前建立的對象資源,持續駐留內存,worker共享。

        全局期代碼在 Server 結束時纔會釋放,reload 無效。

 

  進程全局期:Server 啓動後建立多個進程,它們內存空間獨立,非共享內存。

        worker 進程啓動後(onWorkerStart)引入的代碼在進程存活期有效,reload 會從新加載。

 

  會話期:在 onConnect 或 第一次onReceive 時建立,onClose 時銷燬。

      客戶端鏈接後建立的對象會常駐內存,直到此客戶端離開才銷燬。

 

  請求期:在 onReceive/onRequest 收到請求開始,直到發送 Response 返回。

      請求期建立的對象會在請求完成後銷燬,和 fpm 程序中的對象同樣。


Course http://www.yzmedu.com/learn/8889

Code https://github.com/farwish/swoole-wholly

 

Link:http://www.javashuo.com/article/p-wpkomegw-dc.html

相關文章
相關標籤/搜索