在Windows中开发Swoole程序

关于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
2
3
4
5
6
lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg
install apt-cyg /bin

wget https://github.com/westfly/apt-cyg/blob/master/apt-cyg
chmod +x apt-cyg
mv apt-cyg /bin

之后就可以使用apt-cyg install vim 或apt-cyg remove vim 这样的命令了。

安装Swoole

在Linux系统中你可以pecl install swoole这样安装,在OS X中你可以brew install swoole这样安装,但在cywin中你需要编译安装,apt-cyg中并没有swoole包。

1
2
3
4
5
git clone https://github.com/swoole/swoole-src.git
cd swoole-src
phpize
./configure
make && make install

然后在php.ini中加入以下代码

1
2
[swoole]
extension=swoole.so

然后使用php -m 看下php模块是否加载成功

启动swoole服务:在cygwin界面进入swoole安装目录中的example目录下的http目录,

输入命令:php server.php

在浏览器地址栏访问http://127.0.0.1:9501/,可以看到Hello Swoole说明安装成功了。