关于Swoole
官网上是这么解释:
Swoole:面向生产环境的 PHP 异步网络通信引擎
使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
为什么会有这么一个Php扩展,因为Php本身并不支持多线程,使用Swoole可以更好的提升程序的并发能力,当然这样的扩展并不只有Swoole,像Workerman、pthreads等也可以实现同样的功能,Swoole使用纯C语言编写,效率更好一些。
关于Swoole的其他特性可以在官网上查到
回归主题
由于Swoole仅支持Linux, OS X系统,所以才有了这篇文章,今天的主角就是cygwin,有了cygwin,Swoole就可以跑在Windows上了,毕竟还有很大一部分开发者的开发平台还是Windows,解决这个问题对于开发阶段来说还是很重要的。
安装cywin
安装包可以从官网下载,具体安装步骤可以去Google。但安装过程中比较重要的有两个步骤:
1、Choose Download site,当安装的时候选择从互联网安装, 在”User URL”处输入以下地址http://mirrors.163.com/cygwin/,这个是国内镜像,安装速度会快一些。然后选择中http://mirrors.163.com。
2、Select Packages,在这里你可以选择一些常用的包比如php、mysql、httpd等,还有一个包(lynx或者wget)一定要记得安装,这个包以后会用到。
最后安装apt-cyg,它是cywin下的包管理工具,安装命令如下:
1 | lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg |
之后就可以使用apt-cyg install vim 或apt-cyg remove vim 这样的命令了。
安装Swoole
在Linux系统中你可以pecl install swoole这样安装,在OS X中你可以brew install swoole这样安装,但在cywin中你需要编译安装,apt-cyg中并没有swoole包。
1 | git clone https://github.com/swoole/swoole-src.git |
然后在php.ini中加入以下代码
1 | [swoole] |
然后使用php -m 看下php模块是否加载成功
启动swoole服务:在cygwin界面进入swoole安装目录中的example目录下的http目录,
输入命令:php server.php
在浏览器地址栏访问http://127.0.0.1:9501/,可以看到Hello Swoole说明安装成功了。