老师,这用类的方式写开启服务后没有输出
来源:7-14 登录模块优化(一)
 
			刘小桓
2018-12-01
<?php
/**
 * http server.
 * User: Administrator
 * Date: 2018/12/1/001
 * Time: 10:46
 */
class Http
{
    CONST HOST = '0.0.0.0';
    CONST PORT = 9508;
    public $http = null;
    public function __construct()
    {
        $this->http = new swoole_http_server(self::HOST,self::PORT);
        $this->http->set(
            [
                'enable_static_handler'=>true,
                'document_root'=>'/www/wwwroot/app01/public/static',
                'worker_num'=>4,
                'task_worker_num'=>4,
            ]
        );
        $this->http->on('workerstart',[$this,'onWorkerStart']);
        $this->http->on('request',[$this,'onRequest']);
        $this->http->on('task',[$this,'onTask']);
        $this->http->on('finish',[$this,'onFinish']);
        $this->http->on('close',[$this,'onClose']);
        $this->http->start();
    }
    /**
     * @param $server
     * @param $worker_id
     */
    public function onWorkerStart($server,$worker_id)
    {
        //    define('APP_PATH',__DIR__.'/../application/');
        require __DIR__ . '/../thinkphp/base.php';
    }
    /**
     * @param $request
     * @param $response
     */
    public function onRequest($request,$response)
    {
        $_SERVER = [];
        if(isset($request->server)){
            foreach ($request->server as $k=>$v){
                $_SERVER[strtoupper($k)] = $v;
            }
        }
        if (isset($request->header)){
            foreach ($request->header as $k=>$v){
                $_SERVER[strtoupper($k)] = $v;
            }
        }
        $_GET = [];
        if (isset($request->get)){
            foreach ($request->get as $k=>$v){
                $_GET[$k]=$v;
            }
        }
        $_POST = [];
        if (isset($request->post)){
            foreach ($request->post as $k=>$v){
                $_POST[$k] = $v;
            }
        }
        ob_start();
        // 执行并响应程序
        try{
            think\Container::get('app')->run()->send();
        }catch (\Exception $e){
            //to do
        }
        $res = ob_get_contents();
//        ob_end_clean();
        $response->end($res);
    }
    /**
     * @param $server
     * @param $taskId
     * @param $workerId
     * @param $data
     */
    public function onTask($server,$taskId,$workerId,$data)
    {
    }
    /**
     * @param $server
     * @param $taskId
     * @param $data
     */
    public function onFinish($server,$taskId,$data)
    {
    }
    public function onClose()
    {
    }
}
new Http();
1回答
- 
				  singwa 2018-12-01 您好。终端又报错信息提示什么的吗? 022018-12-13
相似问题
