【问题标题】:Is it possible to install swoole in windows machine?可以在windows机器上安装swoole吗?
【发布时间】:2018-07-01 11:37:05
【问题描述】:

我已经安装了带有 php7 的 Laravel 5,它在我的 Windows 机器上运行良好。 最近才知道SWOOLE对于PHP开发者来说是一个很有前途的工具!

很遗憾,我找不到任何适用于 Windows 的 SWOOLE 安装程序。

难道不能在 Windows 机器上安装 SWOOLE,如果可以怎么办?

提前致谢。

【问题讨论】:

  • Not.it 仅支持 linux 操作系统
  • @SalmanZafar 如果它是一个答案不要评论只是添加一个新的答案

标签: php windows swoole


【解决方案1】:

不是直接使用,而是使用 Docker 和 WSL(适用于 Linux 的 Windows 子系统)。

  1. 安装 Docker (https://www.docker.com/products/docker-desktop)
  2. 设置 WSL

以管理员身份打开 PowerShell 并运行

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

更新/安装 WSL 2 Linux 内核 (https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel)

  1. 在 Docker(常规)中启用“启用基于实验性 WSL 2 的引擎”
  2. 构建 Docker 容器

重要!不要使用带有空格键的路径,例如:

  • C:\Users\ {FIRSTNAME}[空格键]{LASTNAME}\Desktop\docker)

创建一个文件夹 (D:\docker) 并使用编辑器创建 Dockerfile (D:\docker\Dockerfile)

FROM php:7.4.2-cli

RUN apt-get update && apt-get install vim -y && \
    apt-get install openssl -y && \
    apt-get install libssl-dev -y && \
    apt-get install wget -y && \
    apt-get install git -y && \
    apt-get install procps -y && \
    apt-get install htop -y

RUN cd /tmp && git clone https://github.com/swoole/swoole-src.git && \
    cd swoole-src && \
    git checkout v4.4.15 && \
    phpize  && \
    ./configure  --enable-openssl && \
    make && make install

RUN touch /usr/local/etc/php/conf.d/swoole.ini && \
    echo 'extension=swoole.so' > /usr/local/etc/php/conf.d/swoole.ini

RUN wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64
RUN chmod +x /usr/local/bin/dumb-init

RUN apt-get autoremove -y && rm -rf /var/lib/apt/lists/*

ENTRYPOINT ["/usr/local/bin/dumb-init", "--", "php"]

打开 PowerShell 导航到您的文件夹 (D:\docker) 以构建 DockerImage

docker build -f ./Dockerfile -t swoole-php .
  1. 添加你的 swoole 源代码

以(D:\docker\server.php)为例

<?php
$http = new Swoole\HTTP\Server("0.0.0.0", 9501);

$http->on('start', function ($server) {
    echo "Swoole http server is started at http://127.0.0.1:9501\n";
});

$http->on('request', function ($request, $response) {
    $response->header("Content-Type", "text/plain");
    $response->end("Hello World\n");
});

$http->start();
?>
  1. 使用 PowerShell 启动您的 swoole http 服务器
docker run --rm -p 9501:9501 -v D:/docker/:/app -w /app swoole-php server.php

【讨论】:

    【解决方案2】:

    没有。目前 swoole 仅支持 linux 和 Mac。

    【讨论】:

    【解决方案3】:

    我想您正在寻找Cygwin 和教程how to use it with Swoole

    2020 年 6 月更新

    你也可以使用Microsoft Windows Subsystem for Linux (WSL)

    【讨论】:

      【解决方案4】:

      目前,swool 仅支持 Linux 和 Mac。但请使用 Cygwin

      follow this link

      【讨论】:

        猜你喜欢
        • 2018-06-02
        • 1970-01-01
        • 1970-01-01
        • 2010-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多