安装thinkphp6-安装这个可以直接看官网www.kancloud.cn/manual/thin…
php 7.2 + nginx
先安装composer。安装composer 也参照上面的路径地址
使用 shell 命令进入目录cd /www/wwwroot/
composer create-project topthink/think "项目名称" 即可安装thinkphp6
这是安装好的目录。
新建一个站点,然后指向一下这个目录
安装swoole。
php 需要先安装一下swoole扩展,具体我就不详细说明了。直接打开宝塔,直接安装扩展。安装后重启宝塔,可以直接运行命令 php -m 查看swoole扩展。
安装think-swooole
composer require topthink/think-swoole
配置
在目录"/www/wwwroot/swooletest/app/controller" 新建一个WebSocket.php
<?php
namespace app\controller;
class WebSocket {
//基本配置信息
protected $server;
protected $port = 9608;
protected $host = '0.0.0.0';
public function __construct(){
$this->server = new \Swoole\Websocket\Server($this->host, $this->port); //创建server对象
$this->server->set(array(
'worker_num' => 4, //设置启动的worker进程数。最好是cpu核数
'max_request' => 10000, //设置每个worker进程的最大任务数。
'daemonize' => 0, //开启守护进程化
));
//监听连接
$this->server->on('open', function ($server, $req) {
echo "连接打开: {$req->fd}" . PHP_EOL;
});
//监听信息
$this->server->on('message', function ($server, $frame) {
echo "客户端发送过来的消息: {$frame->data}". PHP_EOL;
$this->server->push($frame->fd, "server: {$frame->data}"); //将信息推送给客户端用户
});
//监听连接关闭
$this->server->on('close', function ($server, $fd) {
echo "连接关闭: {$fd}". PHP_EOL;
});
//启动
$this->server->start();
}
}
$websocket = new WebSocket();
进入终端->项目根目录->运行命令 php app/controller/WebSocket.php
注意:记得打开服务器端口9608。宝塔也要放行端口,服务器安全组也要打开端口
前端在本地新建一个test.html文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script>
var wsServer = 'ws://自己的域名:9608';
var websocket = new WebSocket(wsServer);
websocket.onopen = function (evt) {
console.log("成功连接服务器.");
//发送消息
websocket.send("您好,这是前端发出来的信息");
};
websocket.onclose = function (evt) {
console.log("连接服务器失败");
};
websocket.onmessage = function (evt) {
console.log('接收到服务器的信息: ' + evt.data);
};
websocket.onerror = function (evt, e) {
console.log('错误信息: ' + evt.data);
};
</script>
</body>
<html>
这样swoole websocket 的基础使用就可以了。