Mac系统下安装Swoole

Swoole是什么?

作者:韩天峰解答(资深PHP程序员,Swoole开源项目创始人,PHP官方扩展开发组成员。)

Swoole是一个为PHP用C和C++编写的基于事件的高性能异步&协程并行网络通信引擎;
一直以来在其他编程语言程序员心目中PHP就是个套HTML页面的。所谓PHP程序员就是搞WordPress、discuz二次开发,一个月拿三五千的loser,和我大Java工程师相比简直low爆了;
但大家黑了PHP半天,才发现PHP最近这几年反而越来越流行了,PHPer们的工资可一点都不低。就拿我司来说吧,之前面过一个PHP程序员工作三年多,水平一般吧,后来公司开价2万/m收了;
水平好一点的平均都在3-4万/m。实际上作为一名PHP程序员,我很清楚PHP的确有很多局限性,比如Unix系统编程、网络通信编程、异步io,大部分PHPer不懂;
PHP界也确实没有这样的东西。Swoole开源项目就是为了弥补PHP在这些方面的缺陷诞生的。与WordPress这些产品不同,swoole实际上是一个网络通信和异步io的引擎,一个基础库。PHPer可以基于swoole去实现过去PHP无法实现的功能。swoole为PHPer打开了通往另一个世界的大门;

✨事件驱动

Swoole中的网络请求处理是基于事件的,并且充分利用了底层的epoll / kqueue实现,使得为数百万个请求提供服务变得非常容易;
Swoole4使用全新的协程内核引擎,现在它拥有一个全职的开发团队,因此我们正在进入PHP历史上前所未有的时期,为性能的高速提升提供了独一无二的可能性;
Swoole中的时间函数实现为一个闭包,如:

// 1. 创建swoole 默认创建的是一个同步的阻塞tcp服务
//创建Server对象,监听 127.0.0.1:9501端口
$serv = new Swoole\Server("127.0.0.1", 9501); 

// 2. 注册事件
//监听连接进入事件
$serv->on('Connect', function ($serv, $fd) {  
    echo "Client: Connect.\n";
});

//监听数据接收事件
$serv->on('Receive', function ($serv, $fd, $from_id, $data) {
    $serv->send($fd, "Server: ".$data);
});

//监听连接关闭事件
$serv->on('Close', function ($serv, $fd) {
    echo "Client: Close.\n";
});

// 3. 启动服务器
// 阻塞
$serv->start();
⚡️协程

Swoole4或更高版本拥有高可用性的内置协程,您可以使用完全同步的代码来实现异步性能,PHP代码没有任何额外的关键字,底层会自动进行协程调度;
开发者可以将协程理解为超轻量级的线程, 你可以非常容易地在一个进程中创建成千上万个协程;

Swoole能做什么?

1、php程序中没有进程和线程的概念,但是swoole可以模拟出进程/线程,可以用来解决并发问题;
2、在于websocket通信,swoole封装好了这个功能,也是现在很多直播软件服务器常用的框架;

学习Swoole需要掌握哪些基础知识

多进程/多线程

了解Linux操作系统进程和线程的概念;
了解Linux进程/线程切换调度的基本知识;
了解进程间通信的基本知识,如管道、UnixSocket、消息队列、共享内存;

SOCKET

了解SOCKET的基本操作如accept/connect、send/recv、close、listen、bind;
了解SOCKET的接收缓存区、发送缓存区、阻塞/非阻塞、超时等概念;

IO复用

了解select/poll/epoll;
了解基于select/epoll实现的事件循环,Reactor模型;
了解可读事件、可写事件;

TCP/IP网络协议

了解TCP/IP协议;
了解TCP、UDP传输协议;

调试工具

使用 gdb 调试Linux程序;
使用 strace 跟踪进程的系统调用;
使用 tcpdump 跟踪网络通信过程;
其他Linux系统工具,如ps、lsof、top、vmstat、netstat、sar、ss等;

安装Swoole

官方给出了好几种安装方法,我使用是pecl安装:
官方安装链接:https://wiki.swoole.com/wiki/page/7.html
安装完以后使用php --ri swoole来查看是否安装成功:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值