php執行原理

2021-10-10 11:10:17 字數 992 閱讀 9487

cgi 協議模式cgi 的含義是通用閘道器協議(common gateway inte***ce),它允許 web 伺服器通過特定的協議與應用程式通訊,呼叫原理如下:使用者請求 -> web伺服器接收請求 -> fork子程序 呼叫程式/執行程式 -> 程式返回內容/程式呼叫結束 -> web伺服器接收內容-> 返回給使用者由於每次使用者請求都得fork建立子程序呼叫應用程式,請求結束後銷毀程序,所以效能比較低。

fast-cgi 協議模式fast-cgi 是 cgi 模式的公升級版,它像是乙個常駐記憶體的 cgi,只要開啟後,就可以一直處理請求,不再需要結束程序。呼叫過程如下:web伺服器 fast-cgi 程序管理器初始化 -> 預先fork多個程序使用者請求 -> web伺服器接收請求 ->web伺服器將請求交給 fast-cgi 程序管理器 ->fast-cgi 程序管理器接收,給其中乙個空閒的的 fast-cgi 程序處理 ->處理完成fast-cgi 程序變為空閒狀態,等待下次請求 ->web伺服器接收內容->返回給使用者fast-cgi 和 cgi 都是一種協議,開啟的程序是單獨實現該協議的程序

模組模式apache + php 執行時,預設使用的是模組模式,它把 php 作為 apache 的模組隨 apache 啟動而啟動。接收到用請求時,直接通過呼叫 apache 的 mod_php 模組進行處理。

php-cli 模式php-cli 模式屬於命令列模式,該模式不需要借助其他程式,直接在命令列就可以執行php**,命令類似下面這樣:php ***.php

注意事項:

在命令列模式下,沒有超時時間,也無法通過 set_time_limit 設定超時時間

在命令列模式下,預設關閉 buffer 緩衝。在普通的web模式中,echo var_dump等輸出語句/函式,預設情況下是先進入php緩衝區,等緩衝區到達一定數量,才開始傳輸給web伺服器。可以通過ob等系列函式操作快取區,例如ob_get_contents

在php-cli模式下,預設是關閉buffer,直接輸出。例如:echo var_dump phpinfo 等輸出直接輸出到控制台

PHP執行原理

php生命週期 1 模組初始化 php module startup 2 請求初始化 php request startup 3 執行指令碼 php execute script 4 請求關閉 php request shutdown 5 模組關閉 php module shutdown cli模式...

PHP的執行原理

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

Apache 執行PHP原理

php,apache和mysql組合的工作過程 php的所有應用程式都是通過web伺服器 如iis或apache 和php引擎程式解釋執行完成的,工作過程 1 當使用者在瀏覽器位址中輸入要訪問的php頁面檔名,然後回車就會觸發這個php請求,並將請求傳送化支援php的web伺服器。2 web伺服器接...