一、CGI
CGI(common gateway interface)通常翻譯為共同網關接口,是HTTP伺服器與機器上的其他程式進行通訊的一個接口,讓Web伺服器必要時啟動額外的程式處理動態內容。 CGI是一種協議,它定義了Webserver與CGI程式的通訊方式。 Webserver接受客戶端的HTTP請求,然後建立進程執行CGI程序,客戶端的請求傳遞給CGI程序,CGI執行後結果再回傳Webserver。
CGI的出現讓WEB從靜態變成動態,隨著Web的越來越普及,許多的網站的都需要有動態的頁面,以便與瀏覽者互交。隨著網路技術的發展,CGI方式的缺點也越來越突出。每次客戶端請求都需要建立和銷毀進程。因為HTTP要產生一個動態頁面,系統就必須啟動一個新的進程以運行CGI程序,不斷地fork是一項很消耗時間和資源的工作。
二、FastCGI
眾所周知,CGI解釋器的反覆載入是CGI效能低的主要原因,如果CGI解釋器保持在記憶體中並接受FastCGI進程管理器調度,則可以提供良好的性能、伸縮性、Fail-Over特性等等。
FastCGI是常駐型的CGI,可以一直執行,只要啟動後,不會每次都花時間去fork一次,而且還支援分散式運算(使得php程式解釋執行可以單獨交給php伺服器),即可以在網站伺服器以外的主機上執行並且接受來自其它網站伺服器來的請求。
1、Web Server 啟動時載入FastCGI進程管理器(IIS ISAPI或Apache Module);
2、FastCGI進程管理器本身初始化,啟動多個CGI解釋器進程(在工作管理員中可見多個php-cgi.exe)並等待來自Web Server的連線。
3、當客戶端要求到達Web Server時,FastCGI進程管理器選擇並連線到一個CGI解釋器。 Web server將CGI環境變數和標準輸入傳送到FastCGI子進程php-cgi.exe。
4、FastCGI子進程完成處理後將標準輸出和錯誤訊息從相同連線返回Web Server。當FastCGI子程序關閉連線時,請求便告處理完成。 FastCGI子進程接著等待並處理來自FastCGI進程管理器(運行在 WebServer中)的下一個連線。在正常的CGI模式中,php-cgi.exe在此便退出了。
三、Module
把php編譯成apache的模組,就要考慮apache的MPM的工作模式。
首先我們要了解什麼是MPM:
MPM:Multi Path Modules (多道處理模組)用於定義apache在回應多個使用者請求時所工作的模型。有三種MPM模式:
prefork(一個請求一個行程回應);
worker(一個請求用一個執行緒回應,啟動多個行程每個行程產生多個執行緒);
event(一個進程處理多個請求);
以模組安裝的php沒有獨立的進程,是作為apache的模組和apache一起啟動的。
以上三種MPM模式,worker模式會比prefork模式佔據更少的內存,高並發下的表現更好。而且使用多進程和多線程混合模式,即使有一個線程掛了,也只影響和該線程同進程的其他線程,不會影響到其他的進程。但是如果有特別多的線程都使用keep-alive的長連接方式,則線程會一直被佔據直到超時才釋放,導致在高並發場景下無可用線程。而event模式則使用了一個專門的線程來處理這些keep-alive類別線程,較好的解決了這個問題。
推薦教學:PHP影片教學
#以上是php與apache整合的幾種類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版
好用的JavaScript開發工具