前言

在网上找了各种各样宝塔开启websocket的方法,结果试了一天都不行,无奈只有请教大神出手

摒弃

首先在全网基本上没有宝塔配置的教程,有反正我是试了一天都不行,他们的统一配置都是在“网站-配置-location”,反正我是屡试不爽,最关键是全网都是这样的用法

教程

1.下载Workerman的源码放到根目录里

钻石免费 永久钻石免费

当前隐藏内容需要支付

50积分

已有0人支付

支付查看

2.然后写一个启动的php

钻石免费 永久钻石免费

当前隐藏内容需要支付

50积分

已有0人支付

支付查看

3.安装php7.1版本,并修改配置文件删除disable_functions里面的(切记这里千万不要全部删除,不然会出错,就删除我指定的就可以了)pcntl_wait,pcntl_signal_dispatch,pcntl_signal,pcntl_alarm

4.链接服务器cd 到当前目录

然后php start.php start  这里的start.php就是您刚才第二步骤建的php的名字

5.然后修改第二步骤的端口,基本就打工搞成了,是不是很简单

后续关于小程序,实数汤坑啊,有哭无泪啊,搞了好久,下面就写一下教程

先贴一下小程序后端php代码,然后在一个个讲解什么意思

use Workerman\Worker;

require_once __DIR__ . '/framework/library/Workerman/Autoloader.php';

$context = array(

'ssl' => array(

'local_cert' => '/www/wwwroot/312.ryze.club/fullchain.pem', // 也可以是crt文件

'local_pk' => '/www/wwwroot/312.ryze.club/privkey.pem',

'verify_peer' => false,

'verify_peer_name' => false,

'allow_self_signed' => true,

)

);

// 这里设置的是websocket协议

$worker = new Worker('websocket://0.0.0.0:8080', $context);

// 设置transport开启ssl,websocket+ssl即wss

$worker->transport = 'ssl';

$worker->onMessage = function($con, $msg) {

$con->send('你是个憨批');

};

Worker::runAll();

这里的代码和上面的代码多了个$context,也就是秘钥的路径,ssl 配置,然后local_cert和local_pk一个crt和key都可以在网站-配置哪里找到,就是在ssl哪里

和我这个对上就可以了

更多推荐

宝塔php socket,宝塔开启websocket 小程序聊天功能开发