Swoole 是一个使用 C++ 语言编写的基于异步事件驱动和协程的并行网络通信引擎,为 PHP 提供协程、高性能网络编程支持。提供了多种通信协议的网络服务器和客户端模块,可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域。
EasySwoole 是一款基于 Swoole Server 开发的常驻内存型的分布式 PHP 框架,专为 API 而生,摆脱传统 PHP 运行模式在进程唤起和文件加载上带来的性能损失。 EasySwoole 高度封装了 Swoole Server 而依旧维持 Swoole Server 原有特性,支持同时混合监听 HTTP、自定义 TCP、UDP 协议,让开发者以最低的学习成本和精力编写出多进程、可异步、高可用的应用服务。
安装
前必须保证系统已经安装了下列软件 环境可以安装宝塔,或是使用oneinstack集成环境安装的lnmp 都可以
- php-7.1 或更高版本
- gcc-4.8 gcc-c++ 或更高版本
- make
- autoconf
下载 swoole
wget -c https://github.com/swoole/swoole-src/archive/v2.0.6.tar.gz && tar -zxvf v2.0.6.tar.gz && cd swoole-src-2.0.6/
编译&安装
使用phpize来生成php编译配置
[root@php7 swoole-src-2.0.6]# phpize
[root@php7 swoole-src-2.0.6]# ./configure
[root@php7 swoole-src-2.0.6]# make && make install
make install后,如果正确,会出现以下内容
[root@php7 swoole-src-2.0.6]# make install
Installing shared extensions: /usr/lib64/php/modules/
这表示,在 /usr/lib64/php/modules/ 目录中,成功生成了 swoole.so 文件
要能够使用该模块,还需要在 php.ini 文件中添加该模块。这里需要注意,php7的模块配置文件均单独分开了。可以在/etc/php.d 目录中,找到添加模块的配置文件
[root@php7 swoole-src-2.0.6]# vim swoole.ini
Enable swoole extension module
extension=swoole.so