worker 版本為3.5.19
phpsocketio 版本^1.1
報(bào)錯(cuò)內(nèi)容:
Exception: class \Protocols\Https not exist in E:\apps\company_dining_hall\vendo
r\workerman\workerman\Worker.php:2191
【https = http + ssl 】
?
錯(cuò)誤姿勢(shì):$worker = new Worker("https://ip:port");
正確姿勢(shì):$worker = new Worker("http://ip:port");
$worker->transport = 'ssl';
我直接用的是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ù)了
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);
是的,
// 傳入ssl選項(xiàng),包含證書的路徑
$context = array(
'ssl' => array(
'local_cert' => 'xxxxx',
'local_pk' => 'xxxxx',
'verify_peer' => false,
)
);
//PHPSocketIo服務(wù)
self::$senderIo = new SocketIO(3120,$context);
我是這么寫的,但是啟動(dòng)服務(wù)的時(shí)候看見了啟動(dòng)端口后,就直接報(bào)Exception: class \Protocols\Https not exist這個(gè)錯(cuò)誤了
我用的是laravel,使用composer安裝的,worker的是3.5.19的,composer.json 里的是"workerman/phpsocket.io": "^1.1",應(yīng)該是滿足的,也是按官方的配置的,就莫名出現(xiàn)了這個(gè)問(wèn)題了,然后找了一下,好像phpsocket.io這個(gè)包里面好像沒(méi)有https這個(gè)類
沒(méi)有https類是正常的,因?yàn)?https = http + ssl ; 你確定你代碼中某個(gè)地方?jīng)]有發(fā)起類似這樣的調(diào)用嗎? 如 new Worker("https://ip:port");