说到PHP异步网络通信框架,相信PHPer脑海里第一个浮现的便是Swoole。
- 商业应用:IM聊天、战旗TV、虎牙直播、YY语音等。
- 应用领域:互联网、网络通信、企业软件、云计算、网络游戏、物理网等。
- 特点:
1.异步、并行、高性能
2.纯C编写,接近应用底层
3.php扩展 - 应用:
1.异步多线程服务器及客户端
2.异步MySQL、Redis、数据库连接池、任务队列
3.http/websocket服务器/客户端
4.异步文件读写
5.Swoole2.0支持协程
安装Swoole
大致可分成3个步骤:
1.搭建Linux操作系统
2.安装环境依赖(php,gcc,httpd,pecl)
3.安装Swoole并修改php.ini
Part1:搭建Linux操作系统
查看官方文档可知Swoole并不支持Windows系统,所以我们这里搭建一个CentOS 7.3 64位的操作系统,我是使用阿里云云服务器 ECS搭建的,使用系统盘安装即可,安装完毕之后可以远程连接进入云服务器中的Linux系统中
Tips:如果想在Windows下便捷操作云服务器的系统,推荐使用SSH连接软件,这里我使用的是SSH Secure Shell Client3.2.9,安装完成后有两个工具可以使用,分别对应Linux系统的命令行界面和Linux文件系统的GUI界面的,十分便捷客观,提供工作效率。可参考这篇博客安装使用。
连接成功后的界面为
Part2:安装环境依赖(php,gcc,httpd,pecl)
在CentOS中使用yum安装php7,由于初始yum所安装的php版本是5.*的,我们首先要获取php7的yum源1
2
3
4
5
6
7
8
9
10
11//1.安装epel-release
yum -y install epel-release
//2.获取php7的yum源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
//3.安装php7
yum install php70w
//4.验证安装
php -v
安装完成后可看到php版本
之后我们要安装gcc和httpd1
yum install httpd gcc
最后我们要安装pecl,因为swoole项目已收录到PHP官方扩展库,可直接使用pecl安装swoole1
2wget http://pear.php.net/go-pear.phar
php go-pear.phar
Part3:安装Swoole并修改php.ini
1 | sudo pecl install swoole |
会报错如下,别着急
输入1
vi `which pecl`
进入Linux的Vim编辑模式,一直向下查找找到这个文件的最后一行
按I进入Vim的插入模式,之后将-n标志去掉,按ESC进入Vim的退出(末行)模式,输入[:wq!]保存并退出
之后安装 php-devel1
sudo yum install php70w-devel
再次安装swoole1
sudo pecl install swoole
成功安装!
根据提示要添加”extension=swoole.so”在php配置文件php.ini中,我这里由于对于Vim的操作并不熟悉,我直接通过SSH软件将php.ini文件拉取到本地之后修改再上传到服务器
php.ini一般在/etc目录下
拉取到本地后添加”extension=swoole.so”语句,随意在任何两个配置语句中增加
之后通过语句[php -m]可查看php拓展安装情况,如果看到swoole则安装成功!