Swoole简介
Swoole是一个面向生产环境的 PHP 异步网络通信引擎。使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。
Swoole扩展是按照PHP标准扩展构建的。使用phpize来生成编译检测脚本,./configure来做编译配置检测,make进行编译,make install进行安装。
Swoole实际上是一个网络通信和异步io的引擎,一个基础库。php与外部通信需要借助系统的socket,通常使用的Apache nginx就是封装了的socket,可以实现并发处理。客户端发送请求到nginx/apache,再转发到fastcgi端口交给php处理;Swoole把系统的socket集成到php底层,php可以直接通过swoole与客户端交互。也就是说Swoole是个封装了底层socket的网络库,解决异步处理、长连接、并发处理任务等。
Swoole与传统php开发的区别
1.PHP的运行模式
PHP有多种运行模式,常见的Fast-CGI,PHP-FPM模式我们归纳为传统的web模式,还有一种模式属于命令行模式:PHP-Cli
2.Swoole开发的程序和传统的php程序区别
因为使用swoole拓展的PHP脚本与传统的PHP脚步不同,前者是需要预先在服务端执行的,而后者是每次访问时才会执行。
① 比如你的程序中定义了一个类A,那么在每次有用户访问时,类A都需要提前编译到内存中,1万次访问就要编译1万次。而用swoole拓展则只需要在服务端编译一次,无论多少次访问都不需要再次编译了,只要swoole的进程存在,类A就会