thinkphp8 + swow开发 原创
## 安装TP
composer create-project topthink/think tpswow
## 安装swow
composer require swow/swow
## 修改composer.json
添加autoload psr-4命名空间
"think\\swow\\": "swow"
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/179fb876189e46c781c6cb754886b0ac.png)
## 添加配置文件到config下
swow.php
<?php
declare(strict_types=1);
use Swow\Socket;
use think\swow\websocket\Handler;
return [
'http' => [
'enable' => true,
'host' => '0.0.0.0',
'port' => 8089,
'options' => [],
'flags' => Socket::BIND_FLAG_NONE,
],
'websocket' => [
'enable' => false,
'handler' => Handler::class,
'ping_interval' => 25,
'ping_timeout' => 60,
'room' => [
'type' => 'redis',
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
'max_active' => 3,
'max_wait_time' => 5,
],
],
'listen' => [],
'subscribe' => [],
],
//连接池
'pool' => [
'db' => [
'enable' => true,
'max_active' => 3,
'max_wait_time' => 5,
],
'cache' => [
'enable' => true,
'max_active' => 3,
'max_wait_time' => 5,
],
//自定义连接池
],
'ipc' => [
// swow是单进程,默认是不需要ipc的
'enable' => false,
'type' => 'redis',
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
'max_active' => 3,
'max_wait_time' => 5,
],
],
// ipc标识, 可选getmypid、gethostname等(pid不能含有.)
'get_pid_func' => 'getmypid',
// 每个worker里需要预加载以共用的实例
'concretes' => [],
// 重置器
'resetters' => [],
// 每次请求前需要清空的实例
'instances' => [],
// 每次请求前需要重新执行的服务
'services' => [],
];
下载tp-swow【根目录的swow文件夹】,忘记从哪里下载的了。我把本地的压缩上传。
tp+swow启动服务的代码在根目录swow
启动服务[根目录server文件]
php server
启动之后可以访问 http://127.0.0.1:8089