您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關PHP有哪些運行模式,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
運行模式:1、CGI協議模式,服務器通過特定協議與程序通信;2、“fast-cgi”協議模式,開啟后可一直處理請求;3、模塊模式,接收請求調用“mod_php”模塊處理;4、“php-cli”模式,輸入“php xx.php”執行代碼。
本教程操作環境:windows7系統、PHP7.1版,DELL G3電腦
cgi模式通用網關接口(Common Gateway Interface),它允許web服務器通過特定的協議與應用程序通信,通俗的講CGI就像是一座橋,把網頁和WEB服務器中的執行程序連接起來,它把HTML接收的指令傳遞給服務器執行程序,再把服務器執行程序返回給HTML頁。CGI的跨平臺性能極佳,幾乎可以在任何操作系統上實現。調用原理大概為:
用戶請求->Web服務器接收請求->fork子進程 調用程序/執行程序->程序返回內容/程序調用結束->web服務器接收內容->返回給用戶,由于每次用戶請求,都得fork創建進程調用一次程序,然后銷毀進程,所以性能較低。
fast-cgi
是cgi
模式的升級版,它像是一個常駐型的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就開始wamp,wnmp的開發者來說是最陌生的一種運行模式。該模式不需要借助其他程序,直接輸入php xx.php 就能執行php代碼,命令行模式和常規web模式明顯不一樣的是:
沒有超時時間
默認關閉buffer緩沖
STDIN和STDOUT標準輸入/輸出/錯誤 的使用
echo var_dump,phpinfo等輸出直接輸出到控制臺
可使用的類/函數 不同
php.ini配置的不同
關于“PHP有哪些運行模式”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。