php的三個(gè)運(yùn)行環(huán)境是什么-創(chuàng)新互聯(lián)

小編給大家分享一下php的三個(gè)運(yùn)行環(huán)境是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、重慶小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了平陸免費(fèi)建站歡迎大家使用!

1、nginx + swoole

swoole是一個(gè)異步、并行、高性能的網(wǎng)絡(luò)通信引擎,使用純C語(yǔ)言編寫(xiě),提供了php語(yǔ)言的異步多線程服務(wù)器。swoole內(nèi)置了http/websocket服務(wù)器端和客戶端,http2.0服務(wù)器端,支持類(lèi)似Go語(yǔ)言的協(xié)程,可以使用同步代碼實(shí)現(xiàn)一步程序。

swoole采用I/O多路復(fù)用異步阻塞的Reactor模型,采用多線程Reactor+多線程Worker實(shí)現(xiàn)異步I/O。Reactor基于Epoll,每個(gè)Reactor可以處理無(wú)數(shù)個(gè)連接請(qǐng)求,因而可以輕松處理高并發(fā)。

Nginx+swoole模式下,nginx作為前端接入層轉(zhuǎn)發(fā)機(jī),swoole作為應(yīng)用服務(wù)器構(gòu)建高并發(fā)web服務(wù)。

2、nginx + php-fpm

FastCGI是一個(gè)中立的技術(shù)標(biāo)準(zhǔn),php-fpm是php語(yǔ)言的FastCGI進(jìn)程管理器。

CGI的fork-and-execute模式有很多缺點(diǎn),每接收一個(gè)請(qǐng)求就要fork一個(gè)進(jìn)程處理,只能接收一個(gè)請(qǐng)求做出一個(gè)響應(yīng);每一個(gè)web請(qǐng)求PHP都必須重新解析php.ini文件,重新載入全部擴(kuò)展并初始化全部數(shù)據(jù)結(jié)構(gòu)。

FastCGI會(huì)事先啟動(dòng)起來(lái),解析php.ini文件,載入擴(kuò)展,初始化數(shù)據(jù)結(jié)構(gòu)都只會(huì)在啟動(dòng)時(shí)完成,作為一個(gè)CGI管理服務(wù)器存在,使用進(jìn)程/線程池預(yù)先啟動(dòng)一系列的子進(jìn)程來(lái)等待處理。然后web服務(wù)器發(fā)過(guò)來(lái)請(qǐng)求,一旦FastCGI接收到請(qǐng)求就交給子進(jìn)程處理,不需要在接收到請(qǐng)求后啟動(dòng)CGI,會(huì)快很多。Web服務(wù)器通過(guò)一個(gè)socket長(zhǎng)連接請(qǐng)求FastCGI進(jìn)程管理器。

FastCGI進(jìn)程像是一個(gè)常駐CGI,在請(qǐng)求到達(dá)時(shí),F(xiàn)astCGI進(jìn)程管理器選擇并連接一個(gè)PHP-CGI解釋器去接收web服務(wù)器發(fā)送過(guò)來(lái)的環(huán)境變量和標(biāo)準(zhǔn)輸入,請(qǐng)求處理完成后將標(biāo)準(zhǔn)輸出或錯(cuò)誤從同一連接返回給web服務(wù)器,該P(yáng)HP-CGI解釋器子進(jìn)程等待處理來(lái)自FastCGI進(jìn)程管理器的下一個(gè)連接。

3、apache + mod_php

mod_php模式運(yùn)行php,意味著php是作為apache的一個(gè)模塊來(lái)啟動(dòng)。只有在apache啟動(dòng)的時(shí)候會(huì)讀取php.ini配置文件并加載擴(kuò)展模塊,在apache運(yùn)行期間是不會(huì)再去讀取和加載擴(kuò)展模塊的。Apache出于穩(wěn)定性和安全性考慮,通常使用默認(rèn)的prefork模式運(yùn)行php程序。在prefork模式下,一個(gè)單獨(dú)的控制進(jìn)程負(fù)責(zé)產(chǎn)生子進(jìn)程,這些子進(jìn)程用于監(jiān)聽(tīng)請(qǐng)求并作出應(yīng)答。

Apache總是試圖保持一些備用或空閑的子進(jìn)程用于迎接即將到來(lái)的請(qǐng)求,這樣客戶端無(wú)需在得到服務(wù)前等候子進(jìn)程的產(chǎn)生。但是,一旦連接數(shù)多了,apache必須要生成更多的進(jìn)程來(lái)響應(yīng)請(qǐng)求,CPU對(duì)于進(jìn)程的切換就很頻繁,很耗事件和資源,導(dǎo)致apache性能下降;同時(shí),apache在同步阻塞I/O模型下,select遍歷多個(gè)連接句柄才能知道句柄是否有事件通知,因此效率非常低。

以上是php的三個(gè)運(yùn)行環(huán)境是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文題目:php的三個(gè)運(yùn)行環(huán)境是什么-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://bm7419.com/article48/dioehp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、虛擬主機(jī)、網(wǎng)站營(yíng)銷(xiāo)、定制網(wǎng)站網(wǎng)站策劃、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站