# swoole-cli
**Repository Path**: jory/swoole-cli
## Basic Information
- **Project Name**: swoole-cli
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-24
- **Last Updated**: 2026-01-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# swoole-cli
`Swoole-Cli` 是一个 `PHP`的二进制发行版,
集成了 `swoole`、`php 内核`、`php-cli`、`php-fpm`以及多个常用扩展。
`Swoole-Cli`是全部静态编译打包的,不依赖任何操作系统的`so`
动态链接库,具备非常好的移植性,
可以在任意 `Linux`/`macOS`/`Windows(CygWin)`系统之间复制,下载即可使用。
> 作为 PHP 开发者都应该知道 PHP 有两种运行模式:php-fpm和php-cli,
> 那么在 Swoole 5.0 中将迎来一种新的运行模式:swoole-cli。
>
> Swoole将像node.js这样作为独立程序提供给用户,而不是作为PHP的一个扩展。
>
> 除此之外swoole-cli会尽可能地对php-src进行裁剪,
> 移除一些不用的机制、模块、扩展、函数、类型、常量、代码,使得整个程序可以在几分钟之内编译完成。
## 相关文章
- [Swoole-Cli 介绍、使用说明](https://wenda.swoole.com/detail/108876)
- [Swoole-Cli v6.1 将允许对 array/string/stream 类型使用内置方法](https://mp.weixin.qq.com/s/RmdKC5TLREwjcJFc-upZLQ)
- [Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server](https://wenda.swoole.com/detail/108931)
- [Swoole-Cli v5.0.1 使用说明](https://wenda.swoole.com/detail/108876)
- [Swoole-Cli v5.0.0 版本新特性预览之新的运行模式](https://wenda.swoole.com/detail/108706)
- [Swoole-Cli 已提供 Windows 平台 (cygwin64)支持](https://wenda.swoole.com/detail/108743)
- [Swoole v6.1 将提供 typed array 强类型数组实现,增强 PHP 标准库](https://mp.weixin.qq.com/s/yFuxYdNMqxI1VuZg0J07Wg)
- [Swoole v6 2024 重磅更新:Swoole v6 正式发布,增加 16 项新功能](https://mp.weixin.qq.com/s/Ks1x1LNTLdl5jk0sIS6V_w)
- [Swoole v6 协程是否支持 PHP 的 JIT ](https://mp.weixin.qq.com/s/Tm-6XVGQSlz0vDENLB3ylA)
- [Swoole v6 Alpha 版本已发布,为 PHP 带来稳定可靠、生产可用的多线程方案](https://mp.weixin.qq.com/s/IeCGVRFQDVbzVWCIZRGFNg)
- [Swoole v6 将引入 Linux io_uring ,并发读写文件性能提升了 5 倍](https://mp.weixin.qq.com/s/5qnqmjCEb_zxLaT4sR1HAg)
- [Swoole v6 线程池的使用](https://mp.weixin.qq.com/s/wzdH7voOWcHCLuf16SLeIA)
- [Swoole v6 PHP 多线程实现原理 深度剖析](https://mp.weixin.qq.com/s/HzPEg7g3PuN2Xky4EQfnHw)
- [Swoole v6 要来了!即将增加多线程支持](https://segmentfault.com/a/1190000044737434)
- [Swoole v6 开发计划 - 支持多线程运行模式](https://github.com/swoole/rfc/issues/85)
- [Swoole v5.1 增加更多数据库协程客户端支持](https://wenda.swoole.com/detail/109023)
- [phpy 2025 支持了更多高级语法](https://mp.weixin.qq.com/s/YCG5ENAVOKzxcdD1Qdepbg)
- [phpy 1.0.8 已发布,现在 PHP 类可以继承 Python 类了](https://mp.weixin.qq.com/s/mosUpNpm-iY2-vlGZQMlsA)
- [phpy 中如何调用自定义 Python 模块](https://mp.weixin.qq.com/s/KOV-XZQVqZSXkMQoiDrsMA)
- [phpy 连接 PHP 与 Python 互调用库,为 PHP 引入 Python 生态,PHP 也可以写 AI 了](https://wenda.swoole.com/detail/109176)
### 相关文章 知乎
- [Swoole-Cli v5.0.1 PHP 的二进制发行版](https://zhuanlan.zhihu.com/p/581695339)
- [Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server](https://zhuanlan.zhihu.com/p/610014616)
- [Swoole v6 即将增加多线程支持](https://zhuanlan.zhihu.com/p/688462525)
- [phpy:连接 PHP 与 Python 互调用库,为 PHP 引入 Python 生态,PHP 也可以写 AI 了](https://zhuanlan.zhihu.com/p/670373512)
## [常见问题解答](https://github.com/swoole/swoole-cli/blob/main/docs/FAQ.md)
## 下载`swoole-cli`发行版
- [https://www.swoole.com/download](https://www.swoole.com/download) (recommend)
- [https://github.com/swoole/swoole-cli/releases](https://github.com/swoole/swoole-cli/releases)
- [https://github.com/swoole/swoole-src/releases](https://github.com/swoole/swoole-src/releases)
## 立即使用 swoole-cli
```shell
curl -fSL https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.sh?raw=true | bash
# windows powershell
irm https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.ps1?raw=true | iex
# 来自 https://www.swoole.com/download
curl -fSL https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.sh?raw=true | bash -s -- --mirror china
# 指定发布版本
curl -fSL https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.sh?raw=true | bash -s -- --version v5.1.6.0
```
## `swoole-cli`构建文档
- [linux 版构建文档](docs/linux.md)
- [macOS 版构建文档](docs/macOS.md)
- [windows Cygwin 版构建文档](docs/Cygwin.md)
- [windows WSL 版构建文档](docs/wsl.md)
- [swoole-cli 构建选项文档](docs/options.md)
- [打包成二进制可执行文件 文档](sapi/samples/sfx/README.md)
- [swoole-cli 搭建依赖库镜像服务](sapi/download-box/README.md)
- [快速初始化构建环境](sapi/quickstart/README.md)
## Clone
```shell
git clone --recursive https://github.com/swoole/swoole-cli.git
```
```shell
git clone https://github.com/swoole/swoole-cli.git
git submodule update --init
```
## 快速准备 PHP 运行时
```shell
cd swoole-cli
bash setup-php-runtime.sh
# 来自 https://www.swoole.com/download
bash setup-php-runtime.sh --mirror china
# 使用swoole-cli
# shell脚本中启用别名扩展功能
shopt -s expand_aliases
__DIR__=$(pwd)
export PATH="${__DIR__}/runtime/php/:$PATH"
alias php="php -d curl.cainfo=${__DIR__}/runtime/php/cacert.pem -d openssl.cafile=${__DIR__}/runtime/php/cacert.pem"
which php
php -v
```
## 生成构建脚本
```shell
composer install
php prepare.php
php prepare.php +inotify +mongodb -mysqli
```
* 脚本会自动下载相关的`C/C++`库以及`PECL`扩展
* 可使用`+{ext}`或者`-{ext}`增减扩展
## 进入 Docker Bash
```shell
./make.sh docker-bash
```
> 需要将 `swoole-cli` 的目录映射到容器的 `/work` 目录
## 构建 `C/C++` 依赖库
```shell
./make.sh all-library
```
## 编译配置
```shell
./make.sh config
```
## 构建 swoole-cli
```shell
./make.sh build
```
> 编译成功后会生成`bin/swoole-cli`
## 打包
```shell
./make.sh archive
```
> 打包成功后会生成 `swoole-cli-{version}-{os}-{arch}.tar.xz`
> 压缩包,包含 `swoole-cli` 可执行文件、`LICENSE` 授权协议文件。
## 授权协议
* `swoole-cli` 使用了多个其他开源项目,请认真阅读自动生成的 `bin/LICENSE`
文件中版权协议,遵守对应开源项目的 `LICENSE`
* `swoole-cli`
本身的软件源代码、文档等内容以 `Apache 2.0 LICENSE`+`SWOOLE-CLI LICENSE`
作为双重授权协议,用户需要同时遵守 `Apache 2.0 LICENSE`和`SWOOLE-CLI LICENSE`
所规定的条款
## SWOOLE-CLI LICENSE
* 对 `swoole-cli` 代码进行使用、修改、发布的新项目必须含有 `SWOOLE-CLI LICENSE`
的全部内容
* 使用 `swoole-cli`
代码重新发布为新项目或者产品时,项目或产品名称不得包含 `swoole` 单词