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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                >[danger] 該服務依賴 Swoole 擴展,Windows下無法執行。 ## `mix-httpd` 服務器 官方開發的 HTTP 服務器,用于執行 "HTTP 服務",基于 Swoole 擴展的 `swoole_http_server`,擁有比 Apache/PHP-FPM 更高的性能。 >[info] mix-httpd 其實就是一個使用 MixPHP 開發的一個控制臺程序。 ## 啟動 啟動服務器: ~~~ php mix-httpd start -c ../applications/http/config/httpd.php ~~~ 以上命令的各部分拆解如下: - `mix-httpd` 為入口文件。 - `start` 為命令。 - `-c ../applications/http/config/httpd.php` 服務器使用的配置文件,必填 ## 配置文件 每個服務器都有一個單獨的配置文件: [>> 到 GitHub 查看配置文件 <<](https://github.com/mix-php/mix/blob/v2/applications/http/config/httpd.php) ## 命令管理 服務器全部命令如下: - `start `: 啟動服務器。 - `stop` : 停止服務器。 - `restart` : 重啟服務器。 - `reload` : 重啟所有工作進程,用于刷新代碼。 - `status` : 查看服務器狀態。 `start` 命令的參數: - -d : 后臺運行 為了方便錯誤調試,不建議在開發階段使用該參數,因為終端會打印執行錯誤信息,避免頻繁到日志文件查看錯誤的煩惱。 - -u : 代碼熱更新 開發階段使用,需關閉 PHP 的 OPcache,該參數會使 Worker 進程只處理一次請求就銷毀,所以:**1. 不要在生產環境中使用 2. 會嚴重影響 ab 測試結果** ## 運行模式 服務器可選擇以下模式: >[info] 理論上只要關閉服務器的 enable_coroutine 配置,不使用協程或異步客戶端,就是常駐同步模式。 - 常駐同步模式 (默認): > 常駐內存帶來傳統框架無法比擬的高性能,同時對團隊技術要求不會太高,對 Composer 和其他三方庫兼容性高。 修改 `applications/http/config/httpd.php` 文件的以下配置項開啟該模式: ``` // 配置文件 'config_file' => __DIR__ . '/main_permanent.php', // 開啟協程 'enable_coroutine' => false, ``` - 常駐協程模式: > 除了具有常駐內存的優勢,協程帶來的并行優勢讓總體并發性能提升N倍,適合技術能力較強的團隊使用。 修改 `applications/http/config/httpd.php` 文件的以下配置項開啟該模式: ``` // 配置文件 'config_file' => __DIR__ . '/main_coroutine.php', // 開啟協程 'enable_coroutine' => true, ``` ## 事件鉤子 >[info] mix-http-server >= 2.0.2 支持 通過事件鉤子能在服務器的事件中執行一些代碼,比如:在 Worker 進程啟動前的 hook_worker_start 中清理 opcache 緩存,功能與 [Swoole 事件回調函數](https://wiki.swoole.com/wiki/page/41.html) 一致。 ``` applications/http/config/httpd.php ``` ~~~ // 運行參數:https://wiki.swoole.com/wiki/page/274.html 'setting' => [ // 主進程啟動事件回調 'hook_start' => function (\Swoole\Http\Server $server) { }, // 主進程停止事件回調 'hook_shutdown' => function (\Swoole\Http\Server $server) { }, // 管理進程啟動事件回調 'hook_manager_start' => function (\Swoole\Http\Server $server) { }, // 工作進程錯誤事件 'hook_worker_error' => function (\Swoole\Http\Server $server, int $workerId, int $workerPid, int $exitCode, int $signal) { }, // 管理進程停止事件回調 'hook_manager_stop' => function (\Swoole\Http\Server $server) { }, // 工作進程啟動事件回調 'hook_worker_start' => function (\Swoole\Http\Server $server) { }, // 工作進程停止事件回調 'hook_worker_stop' => function (\Swoole\Http\Server $server) { }, // 工作進程退出事件回調 'hook_worker_exit' => function (\Swoole\Http\Server $server, int $workerId) { }, // 請求成功回調 'hook_request_success' => function (\Swoole\Http\Server $server, \Swoole\Http\Request $request) { }, // 請求錯誤回調 'hook_request_error' => function (\Swoole\Http\Server $server, \Swoole\Http\Request $request) { }, ], ~~~ ## 自動重啟 (僅限開發階段使用) 為了提升開發效率,我們提供了 [https://github.com/mix-php/mix-inotifycmd](https://github.com/mix-php/mix-inotifycmd) 工具,能監控文件系統變化,通過設置的命令自動重啟服務器,可用于修改代碼后自動重啟各種 Swoole 常駐服務器 (僅限開發階段使用)
                  <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>

                              哎呀哎呀视频在线观看