swoole 入门 第一个程序

swoole 本人学习环境 linux swoole 4.5.5 php7.2

一、swoole 扩展安装

  1. 环境 https://wiki.swoole.com/#/environment 可借鉴redis 安装 Linux 线上 如何安装redis 开发
  2. swoole 官网 https://www.swoole.com/
  3. swoole 文档 https://wiki.swoole.com/#/
  4. 基于swoole生态的框架推荐 easyswoolehyperf
  5. 作者博客 http://rango.swoole.com/

二、 swoole 流程

https://wiki.swoole.com/wiki/page/p-server.html

三、第一个swoole程序

<?php

class Server
{
    private $serv;

    public function __construct() {
        $this->serv = new swoole_server("0.0.0.0", 9502);
        $this->serv->set([
            'worker_num'      => 3,
            'task_worker_num' => 3,
        ]);
        $this->serv->on('Start', function ($serv) {
            echo "SWOOLE:".SWOOLE_VERSION . " 服务已启动".PHP_EOL;
            echo "SWOOLE_CPU_NUM:".swoole_cpu_num().PHP_EOL;
        });
        $this->serv->on('Receive', function ($serv, $fd, $from_id, $data) {});
        $this->serv->on('Task', function ($serv, $task) {});
        $this->serv->on('Finish', function ($serv, $task_id, $data) {});
        $this->serv->start();
    }
}
$server = new Server();

运行代码: cd 文件所在文件目录执行

  • netstat -anp #查询当前所有进程
  • php swoole01.php
  • ps -ef | grep 'swoole01.php'
  • pstree -p 10641
  • netstat -tunlp | grep 9502 #查看端口进程id listen->数字即是id
  • ps -ef | grep 2750 #查看进程信息
  • kill -9 id #关闭进程
有点懵 通俗理解

swoole 是php的一个扩展,封装了很多加载了扩展才有的函数 他不是框架 他除了禁用了少数php函数,其他常用fpm 模式的函数都可以用!

一个更通俗的比喻,假设Server就是一个工厂,那Reactor就是销售,接受客户订单。而Worker就是工人,当销售接到订单后,Worker去工作生产出客户要的东西。而TaskWorker可以理解为行政人员,可以帮助Worker干些杂事,让Worker专心工作。

文章整理学习于https://github.com/xinliangnote/Swoole

彼特城博客
请先登录后发表评论
  • latest comments
  • 总共0条评论