首頁  >  文章  >  後端開發  >  CGI,FastCGI,PHP-CGI,PHP-FPM 簡單了解

CGI,FastCGI,PHP-CGI,PHP-FPM 簡單了解

Guanhui
Guanhui轉載
2020-05-22 09:30:322386瀏覽

CGI,FastCGI,PHP-CGI,PHP-FPM 簡單了解

1、什麼是 CGI?

是公共網關介面協議,一個協定。 CGI 就是規定要傳遞哪些數據,以什麼樣的格式傳遞給後方處理這個請求的協定。

2、什麼是 FastCGI?

FastCGI 像是常駐 (long-live) 型的 CGI。和 CGI​​ 一樣的東西,做了下優化,也是一個協定

3、什麼是 php-CGI?

PHP-CGI 是 PHP 內建的 FastCGI 進程管理器。

4、什麼是 php-fpm?

第三方 FastCG I 的進程管理器,解決 PHP-CGI 的一些問題,並管理 PHP-CGI。

5、php-fpm 與 fastcgi 什麼關係?

php-fpm 是針對 php 的,實作了 FastCGI 協定的,並提供了對 php-CGI 管理的一個行程管理器。

6、php-fpm 解決了什麼問題?

php-CGI 的平滑重啟。

php-CGI 的常駐管理。 (這裡的常駐是指在 php-CGI 進程被殺死後 php 就掛了,php-fpm 會在 php 進程被殺後重新啟動 php-CGI)

動靜分離實作?

7、php-fpm 獨立運作在非 web 伺服器上,實現所謂的動靜分離。

8、php 上的 php-cgi 和 php-fpm 都是 php 對 FastCGI 協定的實作。後者也提供了 php-CGI 進程的管理。

9、由於 FastCGI 是多進程,所以比 CGI 多執行緒消耗更多的伺服器記憶體。就是說在你記憶體不大,並發請求不高的情況下,CGI 比 FastCGI 更適合你。

10、Web Server 一般指 Apache、Nginx、IIS、Lighttpd、Tomcat 等伺服器。

11、Web Application 一般指 PHP、Java、Asp.net 等應用程式。

12、什麼是 SAPI ? SAPI(Server Application Programming Interface)是應用程式介面。 PHP 中最重要的 SAPI 是 PHP-FPM。 PHP-FPM 是 FastCGI 的實作。

13、SAPI 通俗的講就是 php-CGI,php-cli,mod_php 等,php 就是 php 核心。 SAPI 的核心就是一個結構體 sapi_module_struct。 php-CGI,php-cli,mod_php 都實作了該結構體。

14、php 預設提供了許多 SAPI,常見的提供給 apache 和 nginx 的 php5_module、CGI、FastCGI,給 IIS 的 ISAPI,以及 Shell 的 CLI。

15、協定:規則的集合。介面:程式碼中協定的約束。

推薦教學:《PHP教學

以上是CGI,FastCGI,PHP-CGI,PHP-FPM 簡單了解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除