Heim >PHP-Framework >Swoole >Einführung von swoole http_server zur Anpassung an thinkphp 5.1

Einführung von swoole http_server zur Anpassung an thinkphp 5.1

coldplay.xixi
coldplay.xixinach vorne
2021-03-23 10:58:452501Durchsuche

1. Umgebungsbeschreibung ):

swooleEinführung von swoole http_server zur Anpassung an thinkphp 5.1

2

1. Erstellen Sie ein neues Serververzeichnis im tp-Stammverzeichnis, um swool_http_server zu speichern.
  • http_server.php-Codecode
  • <?php
    /**
     * Created by PhpStorm.
     * Date: 2018/7/22
     * Time: 15:12
     */
    $http = new swoole_http_server(&#39;0.0.0.0&#39;, 8811);
    
    //set函数用于设置swoole_server运行时的各项参数
    $http->set([
        &#39;worker_num&#39;=>4 ,//worker process num
    ]);
    
    //此事件在Worker进程/Task进程启动时发生
    $http->on(&#39;WorkerStart&#39;,function (swoole_server $server, $worker_id){
        // 定义应用目录
        define(&#39;APP_PATH&#39;, __DIR__ . &#39;/../application/&#39;);
        // 加载基础文件 ThinkPHP 引导文件
        require __DIR__ . &#39;/../thinkphp/base.php&#39;;
    
    });
    
    $http->on(&#39;request&#39;, function ($request, $response){
    
        if($request->server){
            foreach ($request->server as $key => $val){
                $_SERVER[strtoupper($key)] = $val;
            }
        }
        if($request->header){
            foreach ($request->header as $key => $val){
                $_SERVER[strtoupper($key)] = $val;
            }
        }
        if($request->get){
            foreach ($request->get as $key => $val){
                $_GET[$key] = $val;
            }
        }
        if($request->post){
            foreach ($request->post as $key => $val){
                $_POST[$key] = $val;
            }
        }
        ob_start();
        try{
            // thinkphp 执行应用并响应
            think\Container::get(&#39;app&#39;)
                ->run()
                ->send();
        }catch (\Exception $exception){
            // todo
        }
        $res = ob_get_contents();
        ob_end_clean();
        $response->end($res);
    });
    
    $http->start();

    2. Rufen Sie das Dienstverzeichnis auf, führen Sie php http_server.php aus, um swoole_http_server zu starten

Es wird kein Fehler gemeldet und der Start ist erfolgreich. 3. Erstellen Sie eine neue Testmethode im Index und greifen Sie auf den Server-Port 8811 zu

Das obige ist der detaillierte Inhalt vonEinführung von swoole http_server zur Anpassung an thinkphp 5.1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen