<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國際加速解決方案。 廣告
                # Server->start [TOC] 啟動服務器,監聽所有`TCP/UDP`端口,函數原型: ~~~ bool Server->start() ~~~ * 啟動成功后會創建`worker_num`+`2`個進程。`Master`進程+`Manager`進程+`serv->worker_num`個`Worker`進程。 * 啟動失敗會立即返回`false` * 啟動成功后將進入事件循環,等待客戶端連接請求。`start`方法之后的代碼不會執行 * 服務器關閉后,`start`函數返回`true`,并繼續向下執行 > 設置了`task_worker_num`會增加相應數量的`Task`進程 > 函數列表中`start`之前的方法僅可在`start`調用前使用,在`start`之后的方法僅可在`onWorkerStart`、`onReceive`等事件回調函數中使用 ## Master 主進程 主進程內有多個`Reactor`線程,基于`epoll/kqueue`進行網絡事件輪詢。收到數據后轉發到`Worker`進程去處理 ## Manager 進程 對所有`Worker`進程進行管理,`Worker`進程生命周期結束或者發生異常時自動回收,并創建新的`Worker`進程 ## Worker 進程 對收到的數據進行處理,包括協議解析和響應請求。未設置`worker_num`,底層會啟動與`CPU`數量一致的`Worker`進程。 * * * 啟動失敗擴展內會拋出致命錯誤,請檢查`php error_log`的相關信息。`errno={number}`是標準的`Linux Errno`,可參考相關文檔。 如果開啟了`log_file`設置,信息會打印到指定的`Log`文件中。 ## 開機啟動 如果想要在開機啟動時,自動運行你的`Server`,可以在`/etc/rc.local`文件中加入 ~~~ /usr/bin/php /data/webroot/www.swoole.com/server.php ~~~ 推薦使用`systemd`或`supervisor`實現服務管理。 ## 常見錯誤 * `bind`端口失敗,原因是其他進程已占用了此端口 * 未設置必選回調函數,啟動失敗 * `PHP`代碼存在致命錯誤,請檢查`PHP`錯誤信息`php_errors.log` * 執行`ulimit -c unlimited`,打開`core dump`,查看是否有段錯誤 * 關閉`daemonize`,關閉`log`,使錯誤信息可以打印到屏幕
                  <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>

                              哎呀哎呀视频在线观看