php學習筆記 Php 體系結構及其執行概述

2021-05-28 11:38:16 字數 1066 閱讀 3256

php 體系結構及其執行概述:

一、sapi

看似很高深的概念,其實說白了就是這樣乙個東西,伺服器程式(例如:apache,ngnix)和外圍程式定義了乙個約定,說咱們提供幾個函式,他們的函式名稱是*** 引數是*** 然後我們之間就可以正常呼叫(例如php,例如asp或者一些伺服器的外掛程式)。例如如果是在linux下與apache通訊 則就是呼叫的apache_2.x.so

二、php 擴充套件元件

為php提供擴充套件功能的一些元件,例如我們常用的mysql驅動,加密加密解密組建 。這些元件為php提供了一些擴充套件功能。在php中我們可以通過函式呼叫的形式呼叫他們。

三、php層

負責與sapi層互動控制整個php執行的流程。其實也就是說呼叫擴充套件和zend核心。同時也包括檔案處理等一些php核心部分。

四、zend引擎

php的核心實現,實現php的編譯過程(詞法分析,語法分析,語義分析等) 生成opcode, 執行opcode。其實就是個編譯器加虛擬機器。

php的執行分兩種情況,一種命令列執行方式,一種php網頁執行方式

命令列執行時候:

首先會初始化一些環境,包括載入配置檔案,載入擴充套件元件等。其次呼叫zend核心引擎生成opcode。然後執行此opcode,執行過程中如果遇到呼叫擴充套件函式,則呼叫相應的擴充套件元件入口函式。

最後執行完畢,清理現場,包括釋放記憶體等。

網頁的執行:(以apache為例)

有兩種模式這是通過apache來配置的。一種是module模式。此模式中,當apache啟動時候,會載入乙個php模組,建立php處理程序,等待請求。當apache收到乙個請求php頁面的請求時候(這裡是指最終定位的資源是php檔案,對於採取了url重寫你請求的可能是.html但是最終執行的卻是.php檔案也算在內)則會呼叫php程序去處理,其處理流程和命令列下相同,處理完畢則返回輸出結果給apache,apache負責向客戶端返回http應答。

一種模式是cgi模式。cgi模式不預先載入php模組,而是每次請求則產生乙個php程序。通過訊息傳送給php程序處理,處理完畢後返回給apapche。

這個是小弟的學習筆記:可能理解上會有很多錯誤,乞求各位看客幫助指正,以求進步。

學習筆記 oracle 體系結構

oracle體系結構 三大核心競爭力 可擴充性 可承受增長的工作負荷 可靠性 一般情況下不受影響 可管理性 可以微調其使用記憶體的方式 寫入資料的頻率等 oracle分為三個部分 sga 系統全域性區 pga 程式全域性區 後台程序 file檔案 功能劃分 儲存結構 控制檔案 資料結構 日誌檔案 物...

Oracle 筆記(一) 安裝及體系結構

一 安裝 安裝過程中的幾個關鍵點 全域性資料庫名 系統識別符號 sid,例項名 伺服器引數檔案 spfile 例項名 ora 的配置 server network admin 資料夾下的引數檔案 listener.ora,tnsnames.ora 二 oracle 體系結構 1 例項 例項是後台程序...

學習Linux的體系結構

一 unix linux的體系架構 如上圖所示,從巨集觀上來看,linux作業系統體系架構分為使用者態和核心態 或者使用者空間和核心 核心從本質上看是一種軟體 控制計算機的硬體資源,並提供上層應用程式執行的環境。使用者態 即上層應用程式的活動空間,應用程式的執行必須依託於核心提供的資源,包括cpu資...