<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 服務開發 MixPHP 的 HTTP、WebSocket、TCP、UDP 服務是運行在 mix-httpd、mix-websocketd、mix-tcpd、mix-udpd 服務器內,而服務器基于 Swoole\Server 開發,其本質上就是一個持續運行的命令行應用程序,所以會有下面這些注意事項。 ### 1. 熱更新 >[danger] 有以下三種方式能實現熱更新,我們推薦使用第一種 - **為了提升開發效率,我們提供了 [https://github.com/mix-php/swoolefor](https://github.com/mix-php/swoolefor) 工具,能監控文件系統變化,通過設置的命令自動重啟服務器,可用于修改代碼后自動重啟各種 Swoole 常駐服務器 (僅限開發階段使用)** - 在開發階段我們希望編寫的代碼能夠實時生效, 馬上看到效果, 這個時候我們需要熱更新功能,實現熱更新我們只需要在 mix-httpd 的啟動命令加上 `-u` 參數,命令如下: ~~~shell php mix-httpd start -u ~~~ >[danger] - 該機制只能熱加載應用層代碼, 如果涉及 composer.json、路由、框架源碼修改則需要重啟服務器。 > - 需關閉 PHP 的 OPcache。 > - -u 會使 worker 只處理一次請求就銷毀,所以不要在生產環境中使用,也不可以在協程模式中使用。 > - 會嚴重影響 ab 測試結果。 - 開發階段你也可以在 Apache/PHP-FPM 中部署,這樣就能在 Windows 系統中做開發,也沒有熱更新問題,完成開發后再部署至 mix-httpd 即可。 ### 2. 全局變量 有3類全局變量: * 使用 `global` 關鍵詞聲明的變量 * 使用 `static` 關鍵詞聲明的類靜態變量、函數靜態變量 * PHP的超全局變量,包括 `$_GET`、`$_POST`、`$GLOBALS` 等 Swoole\Server 中**全局變量,類靜態變量當次請求結束后不會被釋放,下次請求時還在**,需要程序員自行處理這些變量的銷毀工作,所以: >[danger] 1. 不要有全局變量遞增操作,如: Im::$msg[] = 'msg'; Im::$msg .= 'msg'; 。 > 2. 不要使用PHP提供的GET/POST,請使用框架提供的 request 組件。 ### 3. Session 基于 mix-httpd 的 Web 本質上是運行在一個 CLI 程序中,所以 PHP 原生的Session 是無法使用的,MixPHP 為該環境下單獨實現了一套 Session,所以: >[danger] 不要使用 PHP 提供的 Session,請使用 MixPHP 提供的 Session 組件。
                  <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>

                              哎呀哎呀视频在线观看