如何在windows系统下安装swoole(cgywin环境)_windows swoole-程序员宅基地

技术标签: php  

swoole框架是一个很神奇很厉害的框架,它弥补了PHP的本身的一些不足之处。其实swoole确切的说是一个使用C语言编写的PHP扩展,并且这个扩展不能够在windows系统使用,但是就目前的开发环境来说还是使用windows的程序员比较多。那怎么样才能够在windows系统来开发使用swoole扩展呢?当然我们可以使用vm做个虚拟机然后搭建linux环境,但是这样做的话只能是要么在虚拟机中编写代码要么就只能在windows编写好之后拷贝到虚拟机中啦!对于我来说我觉得太麻烦啦,于是问了问度娘发现了cgywin这个东西,引用百度百科上面的介绍“Cygwin是一个在windows平台上运行的类UNIX模拟环境”,既然是个模拟环境那就好办啦!接下来我们正式开始讲讲怎么搭建swoole环境

首先下载 

cgywin    地址:http://www.cygwin.com/。这里注意下载对版本

国内镜像:

  1)上海交大的FTP:ftp://ftp.sjtu.edu.cn/sites/cygwin.com/pub/cygwin/

  2)163的镜像:http://mirrors.163.com/cygwin/

  3)http://mirrors.sohu.com/cygwin/
 

swoole    地址:https://github.com/swoole/swoole-src/releases  下载 tar.gz版本

安装cgywin

 

点击下一步

继续一直点击下一步

 

上面的安装目录和下载目录自己设置。下一步选择镜像地址如图,我选的是这个但是当你用的使用就有可能不确定啦,但是不用着急,反正提供了这么多绝对有一个会是可以用的

接下来要选择预先安装的软件啦,由于是要运行php环境所以需要安装一下几个软件

 

扩展包1: gcc: gcc-core


扩展包2: php:php 、 php-devel

扩展包3: pcre-devel:libpcre-devel,libpcre(后来编译不过去,索性把libpcre全下载了)

扩展包4: autoconf

扩展包5: c++:gcc-objc++ 、 libc++devel 、 libc++1 (注:不安C++扩展包,安装swoole时会报错)

 

扩展名6: json: php-json

扩展名7:openssl
 

好啦!接下来就下一步就好啦!这将是一个漫长的过程

等啊等。。。。。。。。直到完成!!!

安装swoole扩展

我们将刚刚下载的swoole解压到cgywin的安装更目录下的home文件夹中(使用过linux系统的同学们看到安装更目录里的文件夹有木有激动,没错似曾相识啊!!!),然后打开cgywin软件进入到swoole的目录中

然后执行  phpize (这里声明一下如果当初选择安装php的时候没有安装php-devel,这时是会提醒你没有该命令的)

然后是编译      ./configure && make && make install

成功,老泪纵横!

 

执行完该命令后表示安装swoole扩展基本成功了接下来将扩展引入就可以啦!找到php.ini文件一般在 etc文件夹下面  也可以使用  php -i | grep php.ini 来查看

在php.ini文件中写入  extension=swoole.so  保存文件。执行 php -m 查看是否已经加载

window下,swoole部署完成! 

最后可以测试一下,运行一下swoole中的示例:

本地测试地址:http://127.0.0.1:9501/

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wwg19848/article/details/106609767

智能推荐

微信小程序设置tabBar选中颜色和图标-程序员宅基地

文章浏览阅读2.9k次。{ "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#000", "navigationBarTitleText": "首页", "navigationBarTextStyle":"white"//只能black和white }, "t

《Linux多线程服务端编程:使用muduoC++网络库》学习笔记_there ara no arguments to weak_from_this c++-程序员宅基地

文章浏览阅读2.2k次,点赞4次,收藏25次。boost库安装:apt-cache search boost搜到所有的boost库然后:sudo apt-get install libboost-all-dev安装相应的库第一章 线程安全的对象生命期管理1.1 当析构函数遇到多线程C++多线程对象的销毁可能会碰到竞态条件,解决办法是使用shared_ptr。1.1.1 线程安全的定义1.1.2 MutexLock与MutexLockGuard#include<bits/stdc++.h>#include<b_there ara no arguments to weak_from_this c++

[Error] expression list treated as compound expression in initializer [-fpermissive]-程序员宅基地

文章浏览阅读1.4w次。[Error] expression list treated as compound expression in initializer [-fpermissive]经检查输入语句上面一行;写成 ,逗号hh~~_[error] expression list treated as compound expression in initializer [-fper

51nod 1134最长递增子序列_说明书上有着一个长度为 n (2 <= n <= 50000)的序列 a (-10^9 <= a[i-程序员宅基地

文章浏览阅读340次。1134 最长递增子序列基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注给出长度为N的数组,找出这个数组的最长递增子序列。(递增子序列是指,子序列的元素是递增的)例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10。Input第1行:1_说明书上有着一个长度为 n (2 <= n <= 50000)的序列 a (-10^9 <= a[i] <= 10^9)的

beego之orm多条数据插入-程序员宅基地

文章浏览阅读1.1w次。有些数据库,比如MySQL支持一次性插入多条数据的语法,当然也有些数据库不支持。这里演示了两种方法,一种适用于支持多条数据插入语法的数据库,另外一个适用于不支持多条数据插入语法的数据库,两者都能实现一次性插入多条数据的功能。这里用到的两个方法:InsertMulti和PrepareInsert的原型如下:func (o *querySet) PrepareInsert() (Inserte

Ubuntu小知识(持续更新)_z,,,j vf-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏2次。一、环境变量1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。 3、~/.bash_profile:在登录时用到的第三个文件是.bash_pr_z,,,j vf

随便推点

python lxml中etree的简单应用3_datas =etree.html(data)-程序员宅基地

文章浏览阅读551次。本次主要介绍,无论使用的xpath表达式中是否包含text()方法,最后都可以获取目标标签下的文本。使用的依然是etree.HTML和etree.tostring方法。1.思路首先将字符串源码转换成_Element对象,然后使用_Element对象的xpath()方法解析xpath表达式。如果通过xpath表达式解析得到的是文本对象,那么先将文本对象(也是字符串)转换成_Element对象,最后通过etree.tostring方法获取_Element对象中的文本内容(可以参考这里)。2.代码实现_datas =etree.html(data)

【大语言模型LLM】- AI工具收录集合,一篇就够了!-程序员宅基地

文章浏览阅读728次,点赞13次,收藏19次。大语言模型乐园,国内外大模型集合,持续更新...

Mars3D(含Cesium)数据及服务篇:在线地图的下载和使用_三维地图切片下载-程序员宅基地

文章浏览阅读2.3k次。TIF文件为栅格图像文件,后缀为tif或tiff,是ogc规范的一种,全称GeoTiff。通常不能在资源管理器中查看tif栅格影像数据的坐标系信息,需要用GIS软件查看,因为它的坐标系信息写在数据文件内部。tif可以有8位,24位等深度,一般真彩色是24位,而地形数据只有一个高度值,采用8位。目前很多卫星影像数据、地形数据的存储格式都是tif。_三维地图切片下载

基于RV1126平台imx291分析 --- rkcif_mipi注册_rockchip cif 驱动源码分析-程序员宅基地

文章浏览阅读5.1k次,点赞5次,收藏20次。Linux v4l2架构学习总链接rkcif_mipi源码dts源码如下rkcif_mipi_lvds: rkcif_mipi_lvds { compatible = "rockchip,rkcif-mipi-lvds"; ... status = "okay"; port { cif_mipi_in: endpoint { remote-endpoint = <&mipi_csi2_output>; _rockchip cif 驱动源码分析

(记)解决idea构建maven工程失败,无法解析插件_无法解析插件 com.massyframework.maven:project-maven-plug-程序员宅基地

文章浏览阅读3.3k次,点赞4次,收藏13次。记录解决这个问题的步骤过程出现无法解析插件的报错。不断的百度,修改源,还是不行。手动下载出现问题的jar包,下载到本地仓库中还是无法解析。换了手机热点,不行,挂了代理也不行。知乎上搜到了一个回答,说是ssl证书验证的问题。解决换了阿里源,这里很玄学,我直接复制阿里云上maven的配置就行,自己写就不行。知乎上一位大佬的回答(知乎)。这两部之后,成功了,很玄学。..._无法解析插件 com.massyframework.maven:project-maven-plugin:2.0.0.release

Linux的包安装—源码安装,yum安装,rpm安装_linux apr源码安装-程序员宅基地

文章浏览阅读572次,点赞21次,收藏8次。指定启用或者禁用的功能 --enable-ssl --disable-filter。16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?5、LVS、Nginx、HAproxy有什么区别?9、讲述一下Tomcat8005、8009、8080三个端口的含义?7、Tomcat和Resin有什么区别,工作中你怎么选择?