php的執行過程

2021-05-28 18:18:44 字數 657 閱讀 1934

1. 我們從未手動開啟過php的相關程序,它是隨著apache的啟動而執行的;

2. php通過mod_php5.so模組和apache相連(具體說來是sapi,即伺服器應用程式程式設計介面);

3. php總共有三個模組:核心、zend引擎、以及擴充套件層;

4. php核心用來處理請求、檔案流、錯誤處理等相關操作;

5. zend引擎(ze)用以將原始檔轉換成機器語言,然後在虛擬機器上執行它;

6. 擴充套件層是一組函式、類庫和流,php使用它們來執行一些特定的操作。比如,我們需要mysql擴充套件來連線mysql資料庫;

7. 當ze執行程式時可能會需要連線若干擴充套件,這時ze將控制權交給擴充套件,等處理完特定任務後再返還;

8. 最後,ze將程式執行結果返回給php核心,它再將結果傳送給sapi層,最終輸出到瀏覽器上。

在php中函式可以寫在類中也可以不寫在類中,但是如果不寫在類當中的話,就不可以對這個函式加上訪問限定符

而且php頁面的執行是按照順序來執行的,所以先定義的變數可以訪問後定義的變數,但是後定義的變數不可以訪問先定義的

變數,但是如果兩個變數都是定義在類裡面的話就是可以的.

同時php是沒有方法的入口的,它是乙個包含了**的檔案,檔案中類在使用到的時候被初始化,其他的**都是按照順序由上到下

來執行的.

php的執行過程

比如我們有乙個php檔案test.php如下 執行php test.php實際是什麼樣的呢?主要過程如下 1 呼叫zend compile file 這其實是個函式指標,預設實現是compile file 這個函式其實就是呼叫lex根據zend language scanner.l裡的定義進行詞法分...

php的執行過程

1.我們從未手動開啟過php的相關程序,它是隨著apache的啟動而執行的 2.php通過mod php5.so模組和apache相連 具體說來是sapi,即伺服器應用程式程式設計介面 3.php總共有三個模組 核心 zend引擎 以及擴充套件層 4.php核心用來處理請求 檔案流 錯誤處理等相關操...

php的執行過程

1.我們從未手動開啟過php的相關程序,它是隨著apache的啟動而執行的 2.php通過mod php5.so模組和apache相連 具體說來是sapi,即伺服器應用程式程式設計介面 3.php總共有三個模組 核心 zend引擎 以及擴充套件層 4.php核心用來處理請求 檔案流 錯誤處理等相關操...