资讯专栏INFORMATION COLUMN

think-swoole 3.0入门教程(thinkphp 6.0)

Bamboy / 4413人阅读

摘要:前言即将迎来最新版本,针对目前越来越流行,也推出了最新的扩展安装由于目前没有稳定版本,所以只能安装开发板接下来安装,目前最新的稳定版本是配置安装结束可以根据自己的需求对配置信息进行修改。

前言
ThinkPHP即将迎来最新版本6.0,针对目前越来越流行Swoole,thinkphp也推出了最新的扩展think-swoole 3.0
安装

由于目前thinkphp 6.0没有稳定版本,所以只能安装开发板

composer create-project topthink/think tp 6.0.*-dev

接下来安装think-swoole 3.0,目前最新的稳定版本是3.0.2

composer require topthink/think-swoole
配置

安装结束可以根据自己的需求对配置信息进行修改。TP6的配置信息都存在于外部的config目录,这里主要介绍swoole相关配置信息

use thinkswoolewebsocket
oomTableRoom;
use thinkswoolewebsocketsocketioHandler;
use thinkswoolewebsocketsocketioParser;

return [
    "server"           => [
        "host"      => "0.0.0.0", // 监听地址
        "port"      => 80, // 监听端口
        "mode"      => SWOOLE_PROCESS, // 运行模式 默认为SWOOLE_PROCESS
        "sock_type" => SWOOLE_SOCK_TCP, // sock type 默认为SWOOLE_SOCK_TCP
        "options"   => [
            "pid_file"              => runtime_path() . "swoole.pid",//主进程ID保存文件路径
            "log_file"              => runtime_path() . "swoole.log",//swoole日志文件
            "daemonize"             => false,
            // Normally this value should be 1~4 times larger according to your cpu cores.
            "reactor_num"           => swoole_cpu_num(),//线程数,默认值即可,不设置也可以
            "worker_num"            => swoole_cpu_num(),//worker进程数量
            "task_worker_num"       => swoole_cpu_num(),//异步任务进程数量
            "enable_static_handler" => true,//是否启用静态服务,如果开启,则优先判断指定的web目录下是否存在请求的静态文件,如果存在,则直接返回
            "document_root"         => root_path("public"),//web目录
            "package_max_length"    => 20 * 1024 * 1024,
            "buffer_output_size"    => 10 * 1024 * 1024,
            "socket_buffer_size"    => 128 * 1024 * 1024,
            "max_request"           => 3000,
            "send_yield"            => true,
        ],
    ],
    "websocket"        => [
        "enabled"       => false,//是否开启
        "handler"       => Handler::class,//处理请求的类,可以自定义
        "parser"        => Parser::class,//处理解析的类,可以自定义
        "route_file"    => base_path() . "websocket.php",//websocket路由文件
        "ping_interval" => 25000,
        "ping_timeout"  => 60000,
        "room"          => [
            "type"        => TableRoom::class,
            "room_rows"   => 4096,
            "room_size"   => 2048,
            "client_rows" => 8192,
            "client_size" => 2048,
        ],
    ],
    "auto_reload"      => false,
    "enable_coroutine" => true,
    "resetters"        => [],
    "tables"           => [],
];
启动
php think swoole

执行上述命令则可以启动web服务

如果需要使用守护进程方式运行,可以配置

"options"   =>  [
    "daemonize" =>  true
]

支持的命令

php think swoole [start|stop|reload|restart]

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31644.html

相关文章

  • think-swoole 3.0入门教程thinkphp 6.0)架构分析 2

    摘要:由于是基于容器创建和销毁资源的,那么各个容器之间是相对隔离的。也就是说每次请求都会创建一个新的环境用于执行和解析,由于容器的隔离性,每个请求都不会和其他请求进行干扰。因为只有当前协程才可以读取到该数据。 前言 ThinkPHP即将迎来最新版本6.0,针对目前越来越流行Swoole,thinkphp也推出了最新的扩展think-swoole 3.0 沙盒 本文主要介绍在ThinkPHP-...

    Shonim 评论0 收藏0
  • thinkphp 6.0 swoole扩展websocket使用教程(think-swoole)

    摘要:前言即将迎来最新版本,针对目前越来越流行,也推出了最新的扩展。介绍即将推出的,已经适配并推出,并且默认适配了。和版本在使用方法上面有些许不同。其中的第一个参数和的第一个参数一致,作为事件名称。 前言 ThinkPHP即将迎来最新版本6.0,针对目前越来越流行Swoole,thinkphp也推出了最新的扩展think-swoole 3.0。 介绍 即将推出的tp6.0,已经适配swool...

    Julylovin 评论0 收藏0
  • think-swoole 3.0入门教程thinkphp 6.0)架构分析 1

    摘要:如下图目录结构主要针对的是非常驻内存方式运行,为了兼容,虽然做了很多优化,但是仍然无法像,等一些针对开发的框架一样。在非常住内存框架中,为了方便会有一些写法导致在常驻内存方式下不容易被释放内存,小则内存泄漏,大则数据错乱。 前言 ThinkPHP即将迎来最新版本6.0,针对目前越来越流行Swoole,thinkphp也推出了最新的扩展think-swoole 3.0 架构分析 tp-s...

    Coding01 评论0 收藏0
  • 《当 Swoole 遇上 ThinkPHP5》:Hello,World!

    摘要:安装框架安装如果已经安装了可以跳过本步骤,但是请确定通过命令来确保已经使用了最新版本的使用以下命令可以直接通过官网下载并自动安装到目录下如果以上安装过程极慢的话,可以尝试用以下方式通过国内镜像来安装。 《当 Swoole 遇上 ThinkPHP5》:Hello,World! 本文假设你已经有了 Linux 操作系统的 PHP 环境,强烈推荐使用 Vagrant 来搭建开发环境 安装 ...

    xzavier 评论0 收藏0
  • 【PyTorch基础教程1】线性模型(学不会来打我啊)

    摘要:文章目录一线性模型二绘图工具三作业一线性模型不要小看简单线性模型哈哈,虽然这讲我们还没正式用到,但是用到的前向传播损失函数两种绘图等方法在后面是很常用的。 文章目...

    djfml 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<