<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      PHP7內核(三):源碼目錄結構

      上篇文章我們已經介紹了源碼分析工具的安裝、配置以及調試方法,本文我們來講述一下PHP源碼的目錄結構。

      一、目錄概覽

      php-7.0.12為例,看過源碼的同學們應該發現源碼目錄多達十多個,下面是每個目錄的說明。

      目錄 說明
      TSRM 線程相關安全的實現
      Zend PHP解析器的核心實現
      build linux下編譯相關的目錄
      ext PHP的擴展
      main PHP的主要代碼
      netware 網絡目錄,socket的定義與實現
      pear PHP擴展及應用的代碼倉庫
      sapi PHP的應用層接口
      scripts Linux下的腳本目錄
      tests 測試腳本目錄
      travis 用于構建,非PHP特有目錄
      win32 Windows下編譯PHP的相關腳本

      二、核心目錄

      雖然源碼目錄眾多,但是核心目錄卻只有sapi、main、zend、ext、TSRM

      2.1、SAPI

      還記得PHP的應用場景嗎?我們可以在命令行中訪問PHP,也可以通過瀏覽器訪問PHP腳本,甚至可以嵌入到單片機供C、C++程序調用。它們分別對應cli模式、fpm/cgi模式、embed模式,除了這些還有apache2handler、litespeed模式。
      image

      SAPI全稱Server API,負責PHP對外提供服務規范,它定義了結構體sapi_module_struct,該結構體定義了模式啟動、關閉、激活、失效等多個鉤子函數指針,每個模式將這些函數指針指向自己的函數,就可以輕松擴展PHP對外服務的方式。以上幾種模式也正是實現了sapi_module_strcut才完成了PHP的多場景應用。

      2.2、main

      main目錄的作用是承接SAPI的請求,分析出要執行的腳本文件和參數,并對環境和配置進行初始化,比如初始化變量和常量、注冊函數、解析配置文件、加載擴展等等。
      image

      2.3、Zend

      Zend目錄就是大家所熟知的Zend引擎,是PHP最核心的部分,主要負責PHP的語法實現、內存管理及腳本的編譯運行環境等,它由編譯器、執行器兩部分組成。

      編譯器負責將PHP代碼進行詞法、語法分析,并生成抽象語法樹,然后進一步編譯為opcode,opcode是Zend虛擬機可識別的指令,php7一共有173個opcode,所有的語法都是由這些opcode組成的。執行器負責執行編譯器輸出的opcode。

      image

      2.4、ext

      ext是extension的縮寫,它是擴展PHP內核功能的一種方式,分為PHP擴展與zend擴展,都支持用戶自定義開發,這兩種都比較常見,PHP擴展有gd、json、date、array等,而我們熟知的opcache就是Zend擴展。

      image

      2.5、TSRM

      TSRM全稱叫做Thread Safe Resource Manager,也就是線程安全資源管理器。

      我們知道,全局變量就是定義在函數外的變量,它屬于公共資源,在多線程的環境下,訪問公共資源就可能會引起沖突,TSRM就是為解決該問題而誕生的。它為每個線程分配一個獨立的自增ID,該ID作為當前線程的全局變量內存區的索引,從而實現線程的完全獨立。

      其實PHP大部分SAPI都是單線程的,所以并不需要過多關注線程安全,但是在Apache或者用戶自己實現的PHP環境下,就需要考慮線程安全問題了。

      posted @ 2018-08-30 00:49  MARIOOW  閱讀(1487)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 成年午夜免费韩国做受视频| 午夜精品区| 在线免费观看毛片av| 中文字幕国产精品日韩| 欧美牲交40_50a欧美牲交aⅴ| 国产精品国产精品无卡区| 亚洲综合久久一区二区三区| 尤物yw193无码点击进入| 国产成人综合在线观看不卡 | 99精品久久毛片a片| 成年女人片免费视频播放A| 久久精品国产国产精品四凭| 日韩精品一区二区午夜成人版| 中文字幕乱妇无码av在线| 在线免费成人亚洲av| 18成人片黄网站www| 免费久久人人香蕉av| 无码激情亚洲一区| 自拍视频在线观看成人| 精品在线观看视频二区| 无套内谢少妇毛片aaaa片免费 | 少妇特黄a一区二区三区| 国产精品久久久久久久9999| 麻豆一区二区三区精品视频| 国产免费午夜福利在线播放| 野外做受三级视频| 中文字幕日韩国产精品| 亚洲av一区二区在线看| 精品国产乱码久久久久久婷婷| 久久夜色精品国产亚av| 国产精品午夜剧场免费观看| 章丘市| 国产精品一区二区性色av| 中文字幕无线码中文字幕免费 | 中文字幕在线无码一区二区三区| 麻豆一区二区三区香蕉视频| 国产在线乱子伦一区二区| 日本韩国一区二区精品| 国产精品国产精品国产专区| 亚洲色无码专区一区| 日韩在线观看 一区二区|