windows机器可以安装swoole吗?
Is it possible to install swoole in windows machine?
我已经安装了 Laravel 5 和 php7,它在我的 Windows 机器上运行良好。
最近我了解到 SWOOLE 是 PHP 开发人员的一个很有前途的工具!
不幸的是,我找不到 windows 的任何 SWOOLE 安装程序。
是不是可以在Windows机器上安装SWOOLE,如果可以怎么办?
提前致谢。
No.For 现在swoole只支持linux和Mac.
我想你正在寻找 Cygwin and a tutorial how to use it with Swoole
2020 年 6 月更新
目前,swool 只支持 Linux 和 Mac.but 使用 Cygwin
不是直接的,而是使用 Docker 和 WSL(Windows Linux 的子系统)。
- 安装 Docker (https://www.docker.com/products/docker-desktop)
- 设置 WSL
以管理员身份打开 PowerShell 并 运行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Updating/Install WSL 2 Linux 内核 (https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel)
- 在 Docker 中启用 "Enable the experimental WSL 2 based engine"(常规)
- 构建 Docker 容器
重要!不要使用带空格键的路径,例如:
- C:\Users\ {FIRSTNAME}[SPACEBAR]{LASTNAME}\Desktop\docker)
创建文件夹 (D:\docker) 并使用编辑器创建 Docker 文件 (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 .
- 添加你的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();
?>
- 使用 PowerShell 启动你的 swoole http 服务器
docker run --rm -p 9501:9501 -v D:/docker/:/app -w /app swoole-php server.php
我已经安装了 Laravel 5 和 php7,它在我的 Windows 机器上运行良好。 最近我了解到 SWOOLE 是 PHP 开发人员的一个很有前途的工具!
不幸的是,我找不到 windows 的任何 SWOOLE 安装程序。
是不是可以在Windows机器上安装SWOOLE,如果可以怎么办?
提前致谢。
No.For 现在swoole只支持linux和Mac.
我想你正在寻找 Cygwin and a tutorial how to use it with Swoole
2020 年 6 月更新
目前,swool 只支持 Linux 和 Mac.but 使用 Cygwin
不是直接的,而是使用 Docker 和 WSL(Windows Linux 的子系统)。
- 安装 Docker (https://www.docker.com/products/docker-desktop)
- 设置 WSL
以管理员身份打开 PowerShell 并 运行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Updating/Install WSL 2 Linux 内核 (https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel)
- 在 Docker 中启用 "Enable the experimental WSL 2 based engine"(常规)
- 构建 Docker 容器
重要!不要使用带空格键的路径,例如:
- C:\Users\ {FIRSTNAME}[SPACEBAR]{LASTNAME}\Desktop\docker)
创建文件夹 (D:\docker) 并使用编辑器创建 Docker 文件 (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 .
- 添加你的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();
?>
- 使用 PowerShell 启动你的 swoole http 服务器
docker run --rm -p 9501:9501 -v D:/docker/:/app -w /app swoole-php server.php