热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

完整版在Windows系统上安装Cygwin搭建Swoole测试环境

前言昨天,在本地安装Swoole调试环境的时候,遇到好几个坑,因为我的电脑是Windows系统,所以安装的是c

前言

昨天,在本地安装Swoole调试环境的时候,遇到好几个坑,因为我的电脑是Windows系统,所以安装的是cygwin,但是过程并不顺利,接连出现安装终端的问题,并一步步查资料排坑,最终也顺利安装成功了,为了让其他人也能一次性就安装成功,省掉很多麻烦闹心事,我特地写了这边文章,希望对有需要的人有所帮助。

下载Swoole

Swoole下载地址:https://github.com/swoole/swoole-src/releases

在浏览器中打开下载地址,滑动到下载位置,可以下载zip文件包或者tar.gz文件包,下载完成等着后面备用。

下载cygwin

cygwin下载地址:https://www.cygwin.com/

在浏览器中打开cygwin官网,下滑到Installing Cygwin部分,点击setup-x86_64.exe下载exe文件即可

安装cygwin

找到刚才下载的setup-x86_64.exe文件,双击打开,就开始安装cygwin

  • 第一步:打开安装界面,直接点击下一步
  • 第二步:选择下载源,我们直接默认选择Install from Internet,然后点击下一步
  • 第三步:选择安装目录,可以在输入框中直接修改安装目录,或者点击Browse选择目录,点击下一步
  • 第四步:选择包下载的目录,可以在输入框中直接修改目录,或者点击Browse选择目录,点击下一步
  • 第五步:选择网络服务器,直接默认就行了,点击继续下一步
  • 第六步:选择一个下载服务器网址,我们选择http://mirrors.metapeer.com,在这里,我们也可以自己添加163的下载服务器,地址为http://mirrors.163.com/cygwin/,选定继续下一步
  • 第七步:选择需要安装的软件包界面,View下拉选择Category选项
  • 第八步:搜索并选择需要安装的软件包

gcc-core,在Search中搜索gcc-core,展开Devel,找到下图中的蓝色选中项,在New栏,双击选择即可

php和php-devel,在Search中搜索php,展开Interpreters,找到下图中的蓝色选中项,在New栏,双击选择即可,切记phpphp-devel两项都要选择

libpcre-devel,在Search中搜索libpcre-devel,展开Libs,找到下图中的蓝色选中项,在New栏,双击选择即可

autoconf-archive,在Search中搜索autoconf-archive,展开Devel,找到下图中的蓝色选中项,在New栏,双击选择即可

gcc-objc++,在Search中搜索gcc-objc++,展开Devel,找到下图中的蓝色选中项,在New栏,双击选择即可

libc++-devel,在Search中搜索libc++-devel,展开Devel,找到下图中的蓝色选中项,在New栏,双击选择即可

libc++1,在Search中搜索libc++1,展开Devel,找到下图中的蓝色选中项,在New栏,双击选择即可

php-json,在Search中搜索php-json,展开PHP,找到下图中的蓝色选中项,在New栏,双击选择即可

pcre2,在Search中搜索pcre2,展开Text,找到下图中的蓝色选中项,在New栏,双击选择即可

libpcre2-devel,在Search中搜索libpcre2-devel,展开Libs,找到下图中的蓝色选中项,在New栏,双击选择即可

  • 最后一步,选择完全部的软件包,点击下一步,直到安装完成,时间可能有点久,耐心等一下

编译安装Swoole

  • 解压并放到home目录

解压上面下载的Swoole压缩包,放到cygwin的安装目录下的home目录中,为了方便,并改名为Swoole,当然可以不改

  • 打开cygwin并且进入Swoole目录

双击运行Cygwin软件,然后通过命令cd /home/swool/,进入Swoole解压的源程序代码

  • 生成编译的配置文件

Swoole的根目录下,执行命令phpize,可以生成编译的配置文件configure

  • 编译配置并检测环境且编译安装

上面生成编译的配置文件后,再输入命令./configure && make && make install,然后就是等待编译安装Swoole完成

检测Swoole安装是否成功

  • 查看Swoole扩展是否开启

安装完成后,我们输入命令php --ini,可以查找到php.ini配置文件的目录位置,可以发现,配置文件的目录在/etc/php.ini,然后通过vi编辑查看命令vi /etc/php.ini,并且进入到文件的最后一行,然后发现,已经有了一行extension=swoole.dll的扩展配置,这是因为在编译安装的时候,已经把这个模块编译进了php

然后我们再通过命令php -m查看一下是否真的有这个扩展了呢,从下图可以发现,确实已经有了swoole的扩展

测试Swoole环境

  • 选择并进入测试目录

在我们下载的Swoole源代码中,有很多示例,我们可以直接运行进行测试,进入到examples目录,里面的全都是示例代码,我们选择http/server.php进行测试,然后cd http/进入到http目录

  • 执行php程序

上面已经进入到http目录,并且发现,当前目录下有一个server.php的文件,我们可以通过命令php server.php执行

  • 浏览器运行测试

我们打开server.php文件,有一行代码$http = new swoole_http_server("0.0.0.0", 9501);,开启swoole服务的端口为9501,那么我们可以直接在浏览器地址栏输入127.0.0.1:9501或者localhost:9501并访问,显示Hello Swoole.,则说明Swoole安装成功了!

总结

只要按照文章一步一步的安装,应该能一次性安装成功,因为我是一步一个坑踩过来的,并且已经把坑填上了,不要夸我,会骄傲的。大家在安装过程中,如有任何问题可以直接留言给我,我看到会及时回复并帮助解决的,大家如果有其他更好的想法,也环境分析出来和大家交流,谢谢!



推荐阅读
  • 使用Python轻松合并大量复杂Excel文件
    当面对大量的Excel文件时,如何高效地将它们合并成一个文件成为了一项挑战。本文将指导初学者如何利用Python的几个库,在几十行代码内完成这一任务。 ... [详细]
  • UnityNGUIScrollView苹果式滑动
    又回来写博客了,这回已经开始上班了,所以就发一发工作中解决的难题吧。单个展示Panel(苹果式)以前对UI的滑动组件很烦心,不是很会用,这回项目要求写一个类似于苹果的文件滑动效果, ... [详细]
  • 本文详细介绍如何在Android模拟器上安装TaintDroid的过程,包括解决源代码链接失效及服务器文件变动等问题,旨在帮助后续用户避免不必要的麻烦。 ... [详细]
  • 本文详细介绍了在旧电脑上设置U盘启动的方法,包括通过BIOS设置和使用快捷键两种方式,同时提供了针对不同品牌电脑的具体操作步骤。 ... [详细]
  • 学习目的:1.了解android线程的使用2.了解主线程与子线程区别3.解析异步处理机制主线程与子线程:所谓主线程,在Windows窗体应用程序中一般指UI线程,这个是程序启动的时 ... [详细]
  • 本文深入探讨了企业级开发框架NHibernate和Spring.NET的关键特性之一——面向方面编程(AOP)。文章不仅介绍了AOP的基本概念及其如何增强面向对象编程(OOP),还详细说明了Spring.NET中AOP的具体应用,包括事务管理和自定义方面的实现。 ... [详细]
  • 导读上一篇讲了zsh的常用字符串操作,这篇开始讲更为琐碎的转义字符和格式化输出相关内容。包括转义字符、引号、print、printf的使用等等。其中很多内容没有必要记忆,作为手册参 ... [详细]
  • php怎么重新发布网站(2023年最新分享) ... [详细]
  • 本文详细介绍了Redis中对象的内部结构,包括数据类型、编码方式、最近访问时间(LRU)和引用计数等关键属性。通过这些属性,Redis能够高效地管理和优化内存使用。 ... [详细]
  • Java类加载详解(类的生命周期)
    https:www.cnblogs.comjhxxbp10900405.html类从被加载到虚拟机内存开始,到卸载出内存为止。解析阶段在某些情况下可以在初始化后再 ... [详细]
  • 本文提供了多个版本的 Android NDK 的官方下载链接,并简要介绍了如何在项目中配置 NDK 构建。 ... [详细]
  • 致信息安全爱好者的成长指南
    本文旨在为信息安全爱好者提供一份详尽的成长指南,涵盖从学习心态调整到具体技能提升的各个方面。 ... [详细]
  • 深入理解FastDFS
    FastDFS是一款高效、简洁的分布式文件系统,广泛应用于互联网应用中,用于处理大量用户上传的文件,如图片、视频等。本文探讨了FastDFS的设计理念及其如何通过独特的架构设计提高性能和可靠性。 ... [详细]
  • 一个产品数组拼图|集合 2 (O(1)空间) ... [详细]
  • 使用 Docker 部署带有权限认证的 Elasticsearch
    本文介绍如何通过 Docker 容器化部署 Elasticsearch,并集成一个免费的社区插件 ReadonlyREST 实现基本的权限认证功能。 ... [详细]
author-avatar
机敏的柑桔hs5
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有