首頁  >  文章  >  後端開發  >  PHP有幾種運行模式?

PHP有幾種運行模式?

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-04-19 10:32:514919瀏覽

運作模式:1、CGI協定模式,伺服器透過特定協定與程式通訊;2、「fast-cgi」協定模式,開啟後可一直處理請求;3、模組模式,接收請求呼叫「mod_php 」模組處理;4、「php-cli」模式,輸入「php xx.php」執行程式碼。

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

一:CGI協定模式

cgi模式通用網關介面(Common Gateway Interface),它允許web伺服器透過特定的協定與應用程式通信,通俗的講CGI就像是一座橋,把網頁和WEB伺服器中的執行程序連接起來,它把HTML接收的指令傳遞給伺服器執行程序,再把伺服器執行程序回傳給HTML頁。 CGI的跨平台效能極佳,幾乎可以在任何作業系統上實現。
呼叫原理大概為:使用者請求->Web伺服器接收請求->fork子進程呼叫程式/執行程式->程式回傳內容/程式呼叫結束->web伺服器接收內容->返回給用戶,由於每次用戶請求,都得fork創建進程調用一次程序,然後銷毀進程,所以性能較低。

二:fast-cgi協定模式

fast-cgicgi模式的升級版,它像是一個常駐型的cgi,只要開啟後,不會每次都要花時間去fork一次,就可一直處理請求,不再需要結束進程。
呼叫原理大概為:web伺服器fast-cgi進程管理器初始化->預先fork n個進程用戶請求->web伺服器接收請求->交給fast-cgi進程管理器->fast-cgi進程管理區接收,給其中一個空閒fast-cgi進程處理->處理完成,fast-cgi進程變為空閒狀態,等待下次請求->web伺服器接收內容->返回給用戶。

三:模組模式

apache php運行時,預設使用的是模組模式,它把php當作apache的模組隨apache啟動而啟動,接收到用戶請求時則直接透過呼叫mod_php模組進行處理。

模組模式是以mod_php5模組的形式集成,此時mod_php5模組的作用是接收Apache傳遞過來的PHP檔案請求,並處理這些請求,然後將處理後的結果傳回給Apache。如果我們在Apache啟動前在其設定檔中設定好了PHP模組(mod_php5),PHP模組透過註冊apache2的ap_hook_post_config掛鉤,在Apache啟動的時候啟動此模組以接受PHP檔案的請求。

四:php-cli模式

php-cli模式屬於命令列模式,對於許多剛開始學php就開始wamp,wnmp的開發者來說是最陌生的一種運作模式。此模式不需要藉助其他程式,直接輸入php xx.php 就能執行php程式碼,命令列模式和常規web模式明顯不一樣的是:

  • 沒有逾時時間
  • 預設關閉buffer緩衝
  • STDIN和STDOUT標準輸入/輸出/錯誤的使用
  • echo var_dump,phpinfo等輸出直接輸出到控制台
  • 可使用的類別/函數不同
  • php.ini配置的不同

#推薦:《2021年PHP面試題大匯總(收藏)》《php影片教學

#

以上是PHP有幾種運行模式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn