在Windows下搭建swoole环境与测试

5

简言

swoole,一个php的超级扩展,具有异步编程、高性能等非常多的特性。可以在最少的性能损耗下,换取最大的开发效率。但遗憾的是swoole不能在Windows环境下安装使用,对开发造成一定的阻碍,现就Windows下使用swoole,给出一种解决方案。

下载安装Cygwin和swoole

1、安装cygwin

官网地址:https://www.cygwin.com/

图片描述

1.1、打开下载好的cygwin安装包,开始安装cygwin。
1.1.1、一直下一步,下一步到选择cygwin的安装目录(这个同时也会是swoole的安装目录):

图片描述

1.1.2、选择文件包下载的存放位置:

图片描述

1.1.3、选择(所要连接的)服务器(用于后续下载文件):

图片描述

此处需要选择一个服务器,之后就是从该服务器下载对应的安装所需的模块文件了。
因此,此处如果选择的服务器不合适的话,尽管你的网络本身速度很快,但是此处下载速度很慢。
所以,此处需要选择一个速度比较快的服务器。
对于国内来说,连接很多国外的服务器,速度一般都很慢。
不过,目前已经的,口碑较好的,速度较快的服务器,是近几年刚出现的163的服务器。
所以,此处对于多数人,最好的选择就是选择163的服务器。
此处,我这里,由图可见,已经默认选择好了163的服务器,所以不需要额外设置了。

如果你的选择其他的服务器,而且服务器列表中也找不到163的话,那么可以自己手动添加:
在Use URL处,输入:
http://mirrors.163.com/cygwin/

图片描述

图片描述

1.1.4、选择安装的软件包,这里需要安装gcc、php、php开发工具、autoconf、pcre-devel,其它默认,这里注意的是,在上方的搜索栏搜索后,在下边找到对应的软件包选中,点击下一步按钮开始安装。(注意:下方的截图是我安装后界面,点击的位置一样,后边的图标可能不一样哦)

图片描述

图片描述

图片描述

1.1.5、然后就是下一步下一步直到Cygwin安装完成。

图片描述

图片描述

2、安装swoole

2.1、解压swoole的源程序到Cygwin的项目根目录(如:/home/project)。
可以直接把压缩包放到/home/project目录下,右键解压,也可以用命令执行,随你。图方便,这里我直接使用右键方式解压。(命令解压:tar -zcvf file swoole-src-1.8.11-rc1.tar.gz)

图片描述

2.2、打开Cygwin软件(注意:要是你的Cygwin也安装在C盘,那你得注意了,安装swoole的时候有可能报错,解决办法是右键管理员身份打开Cygwin)。

图片描述

2.3、此时的环境就好似linux的终端,而根目录就是Cygwin的安装目录,在界面输入命令:cd /home/project/swoole,其中swoole是解压的源程序。

图片描述

2.4、输入命令:phpize,生成编译的配置文件configure。

图片描述

2.5、输入命令:./configure && make && make install
配置、编译、编译安装swoole
(PS:执行./configure,除了编译配置,还会检测环境等等)

2.6、使用命令: php -i | grep php.ini,找到php cli使用的配置文件php.ini的路径。

图片描述

2.7、修改php.ini文件,在文件中添加一行:extension=swoole.so。
(PS: 1. 如果对linux下的vi编辑器不熟悉,可以在Windows下打开php.ini文件;2. 因为swoole已经改变了php的编程方式,所以建议关闭配置文件中的除swoole扩展之外的其它所有扩展,方法是在其前面加上“;”英文分号)。

2.7.1、linux下的vi编辑器。

图片描述

2.7.2、手动打开修改。

图片描述

2.8、关闭退出。

2.9、使用命令:php -m,查看加载的模块,如果看到swoole,则扩展添加成功,到此环境搭建成功!

图片描述

环境测试

1、在源程序中有一个examples文件夹,里边是一些范例程序,我们这里以运行一个http服务器做示范,进入到http范例程序目录,在Cygwin中输入命令:php server.php,因为http服务器的范例程序是放在http目录中的,用命令运行这个范例程序

图片描述

2、打开浏览器,在地址栏输入:127.0.0.1:9501,回车显示Hello swoole,成功!

图片描述

总结分析

1、此方法虽然可以在Windows下成功搭建swoole,但是php版本最高也就5.4,对于项目php版本需求高于5.4的就没法使用了。这里是不是可以对其php版本升级呢?本人还没有尝试过,待后续...。如果有哪位大神成功升级,望留言说明方法以及提供建议,以此使我以及大众少走弯路,不胜感激。

2、搭建成功后会生成自己的一个类似PphStudy环境的“IBOS控制中心”,运行swoole的时候得用这个环境运行,不需要再安装别的php环境。

3、生成很多自带无用的表,看着不太舒服。数据库表也不好操作,本人还是习惯用navicat。

相关资料

1、Windows下swoole扩展的编译安装部署
2、2.2. Cygwin在线安装指南---第 2 章 下载和安装Cygwin
3、Windows下使用swoole的环境搭建 方案一


如果觉得我的文章对你有用,请随意赞赏

你可能感兴趣的

15 条评论
dy09 · 2017-07-06

已经安装过php的,还需要再次安装php软件包吗

回复

0

安装好swoole之后,swoole就自带PHP环境了,可以直接运行。

zacklee 作者 · 2017-07-06
andrew1985 · 2017-07-07

在生产环境中能够使用这个么?

回复

0

在服务器上部署?

zacklee 作者 · 2017-07-07
0

@zacklee 是的 因为公司内部的是windows2012的服务器 很尴尬

andrew1985 · 2017-07-07
0

@andrew1985 服务器上我没安装过,你可以参考一下这篇https://segmentfault.com/a/11...文章,希望对你有帮助。

zacklee 作者 · 2017-07-07
XFD__ · 2017-07-31

软件包还需要选择prce-devel,不然编译会出错。

回复

0

赞...

zacklee 作者 · 2017-08-02
LeeNelson · 2017-09-27

为什么我这里编译后还是找不到swoole.so。如下
$ php -i | grep php.ini
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/swoole.so' - No such process in Unknown on line 0
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

回复

0

swoole.so需要手动添加,看我的文章一步一步操作

zacklee 作者 · 2017-10-24
WXPHP · 2017-11-18

所以PHP7.0就没办法 跑通你这个扫码登录了?

我在php7.0上跑 报错说 json_decode()没有定义

回复

0

PHP 7.0我没试过,windows用swoole感觉不太好用所以就没再继续研究。

zacklee 作者 · 2017-11-21
不息 · 2018-06-20

这个适用于在windows下做开发环境。
现在windows10的子系统已经很完善了,在里面安装swoole,会更好

回复

狼骑舞者 · 2018-08-22

163不是猪场么?看到 163是个好公司,突现觉得很厉害

回复

载入中...