总之,swoole这个php的超级扩展,具有异步编程、高性能等诸多特点。可以用最小的性能损失换取最大的开发效率。但遗憾的是swoole无法在windows环境下安装使用,给开发造成了一定的障碍。下面给出在Windows下使用swoole的解决方案。下载安装Cygwin和swoole1,安装cygwin官网地址:https://www.cygwin.com/1.1,打开下载的cygwin安装包,开始安装cygwin。1.1.1,继续下一步,下一步选择cygwin的安装目录(这里也会是swoole的安装目录):1.1.2,选择文件包下载的存放位置:1.1.3、选择(待连接)Server(用于后续下载文件):这里需要选择一个服务器,然后从该服务器下载相应的安装所需的模块文件。所以,如果这里选择的服务器不合适,虽然你的网络本身很快,但是这里的下载速度很慢。因此,您需要在这里选择速度更快的服务器。对于中国来说,连接很多国外服务器的速度普遍很慢。不过,目前可用的口碑较好、速度较快的服务器是近几年才出现的163服务器。所以对于这里的大多数人来说,最好的选择就是选择163服务器。这里,这里,从图中可以看出,已经默认选择了163服务器,所以不需要额外设置。如果选择其他服务器,在服务器列表中找不到163,可以手动添加:在UseURL处输入:http://mirrors.163.com/cygwin/1.1.4,选择安装这里需要默认安??装gcc、php、php开发工具、autoconf、pcre-devel等。这里注意,在上面的搜索栏中搜索后,在下面找到对应的软件包,点击下一步按钮开始安装。(注:下面截图是我安装后的界面,点击的位置是一样的,后面的图标可能不一样)1.1.5,然后下一步就是下一步,直到Cygwin安装完成。2、安装swoole2.1,将swoole的源程序解压到Cygwin的项目根目录下(如:/home/project)。可以直接把压缩包放在/home/project目录下,右键解压,也可以用命令执行,随你喜欢。图片方便,我这里直接用右键解压。(命令解压:tar-zcvffileswoole-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&&makeinstall进行配置,编译,编译安装swoole(PS:执行./configure,除了编译配置,还会检测环境等)2.6.使用命令:php-i|grepphp.ini,找到phpcli使用的配置文件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中输入命令:phpserver.php,因为http服务器的示例程序放在http目录下。使用命令2运行本示例程序,打开浏览器,在地址栏输入:127.0.0.1:9501,回车显示Helloswoole,成功!总结与分析1、该方法虽然可以在Windows下成功搭建swoole,但是php版本最高为5.4,不能用于php版本要求高于5.4的项目。是否可以在这里升级其php版本?还没试过,等后续。。。如果有哪位高手升级成功,请留言说明方法,提供建议,让我和大众避免少走弯路,我将不胜感激。2、搭建成功后,会生成自己的类似于PphStudy环境的“IBOSControlCenter”。运行swoole时,必须使用该环境运行,无需安装其他php环境。3.生成了很多无用的表,看着不舒服。数据库表不好操作,还是习惯用navicat。相关资料1.Windows下swoole扩展的编译安装部署2.2.2.Cygwin在线安装指南---第二章下载安装Cygwin3,Windows下使用swoole环境搭建方案一
