windows系统php环境安装swoole具体步骤

Swoole原本不支持在Windows下安装的,所以我们要安装Cygwin来使用。在安装Cygwin下遇到了很多坑,百度经验上的文档不是很全,所以我把自己安装Cygwin和Swoole写下来相当于对自己的沉淀吧。

首先准备工具:

Cygwin下载地址:https://www.jb51.net/softs/102136.html

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

一.下载Swoole和Cygwin

下载Cygwin,我的是64位的

二 1安装Cygwin

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

  1. 先在搜索gcc
  2. 然后php
  3. 在就是pcre-devel
  4. 最后autoconf
  5. 最后一直下一步安装就行。

2 安装Swoole

解压swoole的源程序到Cygwin的家目录,打开Cygwin软件(注意:要是你的Cygwin也安装在C盘,那你得注意了,安装swoole的时候有可能报错,解决办法是右键管理员身份打开Cygwin)

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

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

3.输入命令:phpize,生成编译的配置文件configure

4.输入命令:./configure && make && make install

配置、编译、编译安装swoole

(PS:执行./configure,除了编译配置,还会检测环境等等)

5.使用命令: php -i | grep php.ini,找到php cli使用的配置文件php.ini的路径,修改php.ini文件,在文件中添加一行:extension=swoole.so,然后关闭退出

6. /extension 查找 按n再次查找

7. 添加extension=swoole.so

8. :wq 保存退出

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

到此这篇关于windows系统php环境安装swoole具体步骤的文章就介绍到这了,更多相关php环境安装swoole内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • php使用Swoole实现毫秒级定时任务的方法

    项目开发中,如果有定时任务的业务要求,我们会使用linux的crontab来解决,但是它的最小粒度是分钟级别,如果要求粒度是秒级别的,甚至毫秒级别的,crontab就无法满足,值得庆幸的是swoole提供的强大的毫秒定时器. 应用场景举例 我们可能会遇到这样的场景: 场景一:每隔30秒获取一次本机内存使用率 场景二:2分钟后执行报表发送任务 场景三:每天凌晨2点钟定时请求第三方接口,如果接口有数据返回则停止任务,如果接口由于某种原因没有响应或者没有数据返回则5分钟后继续尝试请求该接口,尝试5次后

  • PHP swoole的process模块创建和使用子进程操作示例

    本文实例讲述了PHP swoole的process模块创建和使用子进程操作.分享给大家供大家参考,具体如下: swoole中为我们提供了一个进程管理模块 Process,替换PHP的 pcntl 扩展,方便我们创建进程,管理进程,和进程间的通信. swoole提供了2种进程间的通信: 1.基于 unix socket 的管道 pipe. 2.基于 sysvmsg 的消息队列. 我们可以通过 new swoole_process() 快速的创建一个进程,默认会创建一个 SOCK_DGRAM 类型的

  • PHP swoole中http_server的配置与使用方法实例分析

    本文实例讲述了PHP swoole中http_server的配置与使用方法.分享给大家供大家参考,具体如下: swoole中为我们提供了一个swoole_http_server类,方便我们处理http请求. 但是它对http协议的支持并不完整,所以一般建议在前面加一层nginx进行代理,对于php文件的处理交由swoole处理. 一.创建一个简单的http服务 <?php //创建一个http server服务 $server = new swoole_http_server('0.0.0.0'

  • PHP swoole中使用task进程异步的处理耗时任务应用案例分析

    本文实例讲述了PHP swoole中使用task进程异步的处理耗时任务.分享给大家供大家参考,具体如下: 我们知道,swoole中有两大进程,分别是 master 主进程和 manager 管理进程. 其中 master 主进程中会有一个主 reactor 线程和多个 reactor 线程,主要的作用就是用来维护TCP连接,处理网络IO,收发数据. 而 manager 管理进程,作用则是 fork 和管理 worker 和 task 进程. worker 进程的作用是接收 reactor 线程传

  • 浅谈swoole的作用与原理

    PHP 中的 Node ?Swoole 到底是什么? 我先从官方文档中引用下 Swoole 的定义: Swoole:面向生产环境的 PHP 异步网络通信引擎. 使 PHP 开发人员可以编写高性能.可拓展的异步并发 TCP.UDP.Unix Socket.HTTP,WebSocket 服务,而无需深入了解非阻塞 I/O 编程和初级 Linux 内核. Swoole 使用 C 语言编写,作为 PHP 的基本扩展存在.听起来可还行,是吧?用 PHP 来运行 HTTP 服务?用 PHP 实现 Webso

  • php使用goto实现自动重启swoole、reactphp、workerman服务的代码

    在平时使用swoole进行开发中,常常遇到这种问题,改了代码之后,手动ctrl+c中断服务,再敲命令重启服务.频繁地重启,感觉心很累. php提供了inotify扩展,调用linux的inotify系统调用,监控文件的变化. 这时候就产生了一个想法,我开一个主进程监控文件变化,再开一个子进程运行swoole服务.主进程监听到文件变化之后,干掉子进程,然后再开一个子进程运行swoole服务. 子进程如果想优雅地退出,安装个信号处理器,在退出之前做一些操作. <?php //index.php re

  • php中Swoole的热更新实现代码实例

    使用swoole_http_server替代php-fpm后,由于php长驻内存,修改了代码不能实时调试,需要去手动去重启服务,很是不方便,决定使用inotify来监控文件状态的改变,来给swoole发送reload信号,来实现swoole的热更新. 如何安装inotify就不写了,安装之后可以建立一个脚本文件,如php_reload.sh: #!/bin/sh # src 需要监控的地址 src=/home/server/Project/test/app/ /usr/bin/inotifywa

  • 详解PHP7开启OPcache和Swoole性能的提升对比

    前期准备 测试所用的主机为虚拟机,虚拟机配置在双核4GB的个人电脑中.虚拟机系统为linux,http服务器采用nginx,用lnmp脚本安装nginx.mysql.php.Laravel框架为7.X版本. 配置站点,在nginx的server块中配置虚拟主机 server{ listen 80; root "/vagrant/www/laravel7/public"; server_name test.laravel.com; index index.html index.php;

  • 详解PHP Swoole与TCP三次握手

    握手常见问题 1.连接拒绝 2.Operation now in progress 多是因为丢包.错误ip.backlog满了&阻塞&tcp_abort_on_overflow=0 3.min(maxconn, backlog) ss -lt 连接拒绝 在TCP三次握手的时候,客户端发送SYN这个包给服务端,服务端不接受这个请求,操作系统直接返回了一个RST的包,来拒绝连接的请求. 最常见的情况就是客户端去请求某个服务器,服务端没有绑定对应的端口. 测试代码如下,服务端代码: <?p

  • 详解PHP Swoole长连接常见问题

    连接失效问题 例子 其中,Redis常见的报错就是: 配置项:timeout 报错信息: Error while reading line from the server Redis可以配置如果客户端经过多少秒还不给Redis服务器发送数据,那么就会把连接close掉. MySQL常见的报错: 配置项:wait_timeout & interactive_timeout 报错信息: has gone away 和Redis服务器一样,MySQL也会定时的去清理掉没用的连接. 如何解决 1.用的时

随机推荐