<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                在很多情況下,大家使用 Swoole 都只是在使用 web socket,而沒有使用 Swoole 真正“重新定義PHP”的功能,那么 Swoole 真正解決了 PHP 的痛點就是本章介紹的,僅僅使用 web socket 還沒體現出 Swoole 真正的高性能方面。 我們通常使用 Nginx,Apache 或者 IIS 來做為運行 PHP 的 Web 服務器,其實是內部的 PHP 解析器來解析 PHP 代碼,PHP 內部提供了 SAPI(Server Application Programming Interface/服務器端應用編程端口)來跟外部程序(Apache,Nginx等)通信。比如 Nginx 常用的 phpfpm,Apache 常用的 mod_php,命令行的 CLI 以及 IIS 常用的ISAPI。 常用的 Web 服務器中,Nginx + phpfpm 這個組合在性能方面表現格外出色,但是我們現在可以通過 Swoole 來自己實現一個應用服務器,性能要比 phpfpm 還要好,在 Swoole 官方壓力測試中,swoole_http_server(Swoole 實現的 http 服務器)要比 phpfpm 性能好很多,甚至很接近 Nginx 處理靜態資源文件。但是不推薦只使用 swoole_http_server 來作為 Web 服務器,推薦和 Nginx 搭配使用,由 swoole_http_server 來替代 phpfpm 處理 php 解析,靜態資源文件依然由 Nginx 來處理。 swoole_http_server 是基于 swoole_server 的基礎上增加 http 協議的解析,所有的 http 請求會在解析后封裝到 swoole_http_request 對象內,所有 http 響應也會封裝到 swoole_http_response 對象內并發送。需要注意的是在 swoole_http_server 中,普通的$_POST,$_GET,$_REQUEST,$_SERVER等全局變量還有echo等都不能使用 暫未實現直接用 swoole_http_server 替代框架入口文件,所以本章示例是用 swoole_http_server 實現后,適用在 html 層用 ajax 調用 創建 ThinkPHP5 自定義命令行 1.創建命令行類 - 創建application/console/HttpServer.php文件 ~~~ <?php namespace app\Console; use think\console\Command; use think\console\Input; use think\console\Output; class HttpServer extends Command { protected $server; // 命令行配置函數 protected function configure() { // setName 設置命令行名稱 && setDescription 設置命令行描述 $this->setName('http:server')->setDescription('Start Http Server!'); } // 設置命令返回信息 protected function execute(Input $input, Output $output) { $this->server = new \swoole_http_server("0.0.0.0", 9502); $this->server->on('Request', [$this, 'onRequest']); $this->server->start(); // $output->writeln("HttpServer: Start.\n"); } public function onRequest(\swoole_http_request $request, \swoole_http_response $response) { $data = isset($request->get) ? $request->get : ''; $response->end(serialize($data)); } } ~~~ 2.修改配置文件 - 文件所在 application/command.php ~~~ <?php return [ 'app\console\HttpServer', ]; ~~~ 這時直接在命令行輸入如下命令就可以啟動 swoole_http_server 1 $ > `php think http:server` 這時候在瀏覽器打開連接,使用 get 傳遞參數,瀏覽器頁面會直接顯示序列化后的 get 參數 ![](https://box.kancloud.cn/a238e534b225e393b2446f2cb2771a89_543x115.png)
                  <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>

                              哎呀哎呀视频在线观看