亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于php的運行機制問題有點疑惑。

關于php的運行機制問題有點疑惑。

PHP
LEATH 2019-03-06 06:03:45
最近在學習高并發,關于php的運行機制,我有點疑惑。我自己是這樣認為的: 比如 php接受一個請求,運行5秒鐘(夸張點說),那么10:00 的時候如果同時有5個請求連接php , 那么是不是 其中一個請求首先被執行,然后其他4個處于阻塞(等待)中 ? 10:05 第一個請求執行完畢,然后執行第二個......10:00 第一個開始執行10:05 第二個開始執行10:10 第三個開始執行。。。這這樣的嗎 ? 還是說 php 像 比如 瀏覽器這樣,可以同時開多個窗口同時處理呢 ?
查看完整描述

2 回答

?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

PHP是屬于多進程模型

在PHP開啟進程的時候,就會啟動配置的marster進程及相應的配置數的worker進程,如:

root      1051  0.0  0.2 274644  5588 ?        Ss   2月19   2:57 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www       1063  0.0  0.8 282620 15744 ?        S    2月19   0:42 php-fpm: pool www
www       1065  0.0  0.7 281080 13724 ?        S    2月19   0:41 php-fpm: pool www
www       1071  0.0  0.7 280824 14092 ?        S    2月19   0:40 php-fpm: pool www
www       1072  0.0  0.6 279536 12836 ?        S    2月19   0:44 php-fpm: pool www
www       1076  0.0  0.7 281080 14328 ?        S    2月19   0:41 php-fpm: pool www
www       1077  0.0  0.7 280828 14124 ?        S    2月19   0:42 php-fpm: pool www
www       1083  0.0  0.7 281084 14440 ?        S    2月19   0:41 php-fpm: pool www

php-fpm master進程負責創建和管理woker進程,同時負責監聽listen連接,master進程是多路復用的;woker進程負責accept請求連接,同時處理請求,一個woker進程可以處理多個請求(復用,不需要每次都fork一個woker進程),但一個woker進程一次只能處理一個請求。
至于worker進程的配置,你可以再詳細去了解一下。


查看完整回答
反對 回復 2019-03-16
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

PHP-FPM下,一個進程同一時刻只能處理一個請求,請求結束后不會關閉進程,但進程會釋放資源。
你可以這樣理解,每來一個請求,PHP-FPM的工作進程會調用內置的PHP解釋器執行腳本處理請求,完成后釋放資源接著處理下一個請求,但工作進程本身是支持后臺常駐的。
另外,如果PHP跑在Swoole下,則PHP邏輯是常駐內存的,即PHP里的全局資源,包括定義的全局變量、函數、類,則都是常駐內存的。

查看完整回答
反對 回復 2019-03-16
  • 2 回答
  • 0 關注
  • 378 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號