溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mod_php、FastCGI、PHP-FPM等PHP運(yùn)行方式有哪些區(qū)別

發(fā)布時(shí)間:2021-09-28 17:18:55 來源:億速云 閱讀:124 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“mod_php、FastCGI、PHP-FPM等PHP運(yùn)行方式有哪些區(qū)別”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“mod_php、FastCGI、PHP-FPM等PHP運(yùn)行方式有哪些區(qū)別”吧!

什么是PHP處理器(PHP handlers)?

首先需要記住的是,任何一種Web服務(wù)器(Apache、Nginx等)都是被設(shè)計(jì)成向用戶發(fā)送html、圖片等靜態(tài)資源的,Web服務(wù)器自身并不能解釋任何動(dòng)態(tài)腳本(PHP、Python等)。PHP處理器就是用來解釋W(xué)eb應(yīng)用中的PHP代碼,并將它解釋為HTML或其他靜態(tài)資源,然后將解析的結(jié)果傳給Web服務(wù)器,最后再由Web服務(wù)器發(fā)送給用戶。大多數(shù)的Web服務(wù)器都不能解析PHP代碼,因此它需要一個(gè)能解析PHP代碼的程序,這就是PHP處理器。

mod_php

首先,來看一下以Apache模塊方式運(yùn)行PHP。mod_php現(xiàn)在在Linux各版本的軟件倉庫里都有,因此很容易被安裝。

當(dāng)PHP以模塊的方式運(yùn)行在Apache中時(shí),PHP解釋器被“內(nèi)嵌”在Apache的進(jìn)程里。Apache不會(huì)調(diào)用任何外部的PHP進(jìn)程,因此這種方式使Apache與PHP能更好的通信。但是,當(dāng)以這種方式運(yùn)行PHP的時(shí)候,哪怕Apache提供的僅僅是靜態(tài)的資源(如HTML),Apache的每個(gè)子進(jìn)程也都會(huì)載入 mod_php,導(dǎo)致了比正常情況下更多的內(nèi)存開銷。

以這種方式運(yùn)行的另一個(gè)缺點(diǎn)是,它僅能與Apache一起配合工作。另外,在小型的VPS和大型的網(wǎng)站中,這種方式也不合適,因?yàn)榇笮途W(wǎng)站可能有很多靜態(tài)資源,而這些靜態(tài)資源是不需要PHP程序解釋的。

優(yōu)點(diǎn):
1.易于安裝和更新
2.容配置
缺點(diǎn):
1.僅能與Apache一起工作
2.增加了Apache子進(jìn)程內(nèi)存開銷
3.當(dāng)更改php.ini文件后,需要重啟Apache

FastCGI

FastCGI是交互程序與Web服務(wù)器通用的協(xié)議接口,是早期CGI(Common Gateway Interface)的一個(gè)變種。相對于CGI來說,F(xiàn)astCGI減少了和Web服務(wù)器交互的開銷,同時(shí)一次可以處理更多的請求。

Apache可以以mod_fcgid的形式使用FastCGI。其他Web服務(wù)器,如lighttpd, nginx, Cherokee,甚至微軟的IIS也都能使用FastCGI。使用FastCGI,可以同時(shí)設(shè)置多個(gè)版本的PHP,這在某些情況下非常有用。

FastCGI還利用suexec來支持不同的用戶用自己的PHP的實(shí)例。這個(gè)特性對于在共享環(huán)境下提高安全性尤其重要。FastCGI在保證性能的同時(shí),也減少了Web服務(wù)器的內(nèi)存開銷。

優(yōu)點(diǎn):
1.兼容多數(shù)Web服務(wù)器
2.比mod_php占內(nèi)存小
3.更多的配置項(xiàng),包括多版本PHP和suexec
缺點(diǎn)
1.配置復(fù)雜
2.不被大家所熟知

PHP-FPM(FastCGI Process Manager)

PHP-FPM是Web服務(wù)器使用PHP的一種最新方式,也是PHP FastCGI的另外一種實(shí)現(xiàn)。PHP-FPM對于運(yùn)行在小型VPS和多服務(wù)器上的Web應(yīng)用非常應(yīng)用。同時(shí),它也可以被兼容FastCGI的任何Web服務(wù)器所使用。

PHP-FPM使管理員能夠優(yōu)雅地停止和啟動(dòng)PHP工作進(jìn)程而不丟失任何查詢。這允許我們逐步更新配置和二進(jìn)制,而不會(huì)損失任何查詢。它還允許我們在發(fā)生任何意外破壞的情況下,緊急重啟進(jìn)程。

優(yōu)點(diǎn):
1.兼容多數(shù)Web服務(wù)器
2.比mod_php占內(nèi)存小
3.更多的配置項(xiàng),包括多版本PHP和suexec
缺點(diǎn)
1.配置復(fù)雜
2.不被大家所熟知

補(bǔ)充:Apache運(yùn)行PHP的四種方式

mod_php (DSO,Dynamic Shared Object)
CGI
suPHP
FastCGI

感謝各位的閱讀,以上就是“mod_php、FastCGI、PHP-FPM等PHP運(yùn)行方式有哪些區(qū)別”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對mod_php、FastCGI、PHP-FPM等PHP運(yùn)行方式有哪些區(qū)別這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI