国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請大神指教phpsocketio開啟ssl Exception: class \Protocols\Https not exist報錯了?

ziven

worker 版本為3.5.19
phpsocketio 版本^1.1
報錯內容:
Exception: class \Protocols\Https not exist in E:\apps\company_dining_hall\vendo
r\workerman\workerman\Worker.php:2191

5425 3 0
3個回答

keytehu

你代碼寫錯了

phpcreeper

【https = http + ssl 】
?
錯誤姿勢:$worker = new Worker("https://ip:port");
正確姿勢:$worker = new Worker("http://ip:port");
$worker->transport = 'ssl';

  • ziven 2019-08-29

    我直接用的是phpsocketio,源碼是
    if($port)
    {
    $worker = new Worker('SocketIO://0.0.0.0:'.$port, $opts);
    $worker->name = 'PHPSocketIO';

            if(isset($opts['ssl'])) {
                $worker->transport = 'ssl';
            }
    
            $this->attach($worker);
        }

    有傳了$port了,也有傳了ssl的參數(shù)了

  • phpcreeper 2019-08-29

    use PHPSocketIO\SocketIO;
    $context = array(
    'ssl' => array(
    'local_cert' => '/your/path/your/server.pem',
    'local_pk' => '/your/path/your/server.key',
    'verify_peer' => false,
    )
    );
    new SocketIO(2120, $context);

  • ziven 2019-08-29

    是的,
    // 傳入ssl選項,包含證書的路徑
    $context = array(
    'ssl' => array(
    'local_cert' => 'xxxxx',
    'local_pk' => 'xxxxx',
    'verify_peer' => false,
    )
    );

        //PHPSocketIo服務
        self::$senderIo = new SocketIO(3120,$context);

    我是這么寫的,但是啟動服務的時候看見了啟動端口后,就直接報Exception: class \Protocols\Https not exist這個錯誤了

  • phpcreeper 2019-08-29

    手冊上有寫明注意事項,自己確認下:
    SSL 要求workerman>=3.3.7
    phpsocket.io>=1.1.1

  • ziven 2019-08-29

    我用的是laravel,使用composer安裝的,worker的是3.5.19的,composer.json 里的是"workerman/phpsocket.io": "^1.1",應該是滿足的,也是按官方的配置的,就莫名出現(xiàn)了這個問題了,然后找了一下,好像phpsocket.io這個包里面好像沒有https這個類

  • phpcreeper 2019-08-29

    沒有https類是正常的,因為 https = http + ssl ; 你確定你代碼中某個地方沒有發(fā)起類似這樣的調用嗎? 如 new Worker("https://ip:port");

  • ziven 2019-08-29

    可以了,啟動的時候沒有用https,但是監(jiān)聽的時候用了https,非常感謝你

sssllin

截圖 非常感謝

  • 暫無評論
年代過于久遠,無法發(fā)表回答
??