<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 1.3.1 概述 FPM(FastCGI Process Manager)是PHP FastCGI運行模式的一個進程管理器,從它的定義可以看出,FPM的核心功能是進程管理,那么它用來管理什么進程呢?這個問題就需要從FastCGI說起了。 FastCGI是Web服務器(如:Nginx、Apache)和處理程序之間的一種通信協議,它是與Http類似的一種應用層通信協議,注意:它只是一種協議! 前面曾一再強調,PHP只是一個腳本解析器,你可以把它理解為一個普通的函數,輸入是PHP腳本。輸出是執行結果,假如我們想用PHP代替shell,在命令行中執行一個文件,那么就可以寫一個程序來嵌入PHP解析器,這就是cli模式,這種模式下PHP就是普通的一個命令工具。接著我們又想:能不能讓PHP處理http請求呢?這時就涉及到了網絡處理,PHP需要接收請求、解析協議,然后處理完成返回請求。在網絡應用場景下,PHP并沒有像Golang那樣實現http網絡庫,而是實現了FastCGI協議,然后與web服務器配合實現了http的處理,web服務器來處理http請求,然后將解析的結果再通過FastCGI協議轉發給處理程序,處理程序處理完成后將結果返回給web服務器,web服務器再返回給用戶,如下圖所示。 ![](https://box.kancloud.cn/efc0e46f2093efed38af0f60205e9408_620x122.png) PHP實現了FastCGI協議的解析,但是并沒有具體實現網絡處理,一般的處理模型:多進程、多線程,多進程模型通常是主進程只負責管理子進程,而基本的網絡事件由各個子進程處理,nginx、fpm就是這種模式;另一種多線程模型與多進程類似,只是它是線程粒度,通常會由主線程監聽、接收請求,然后交由子線程處理,memcached就是這種模式,有的也是采用多進程那種模式:主線程只負責管理子線程不處理網絡事件,各個子線程監聽、接收、處理請求,memcached使用udp協議時采用的是這種模式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看