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 介绍、使用说明
- Swoole-Cli 5.0.1 使用说明
- Swoole-Cli v5.0.0 版本新特性预览之新的运行模式
- Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server
- Swoole-Cli 已提供 Windows 平台 (cygwin64)支持
- Swoole 5.1 增加更多数据库协程客户端支持
- Swoole v6 要来了!即将增加多线程支持
- Swoole v6 开发计划 - 支持多线程运行模式
- phpy:连接 PHP 与 Python 互调用库,为 PHP 引入 Python 生态,PHP 也可以写 AI 了
- Swoole-Cli v5.0.1 PHP 的二进制发行版
- Swoole-Cli v5.0.2 增加 opcache/readline 扩展,强化 Cli-Server
- Swoole v6 即将增加多线程支持
- phpy:连接 PHP 与 Python 互调用库,为 PHP 引入 Python 生态,PHP 也可以写 AI 了
- https://www.swoole.com/download (recommend)
- https://github.com/swoole/swoole-cli/releases
- https://github.com/swoole/swoole-src/releases
- linux 版构建文档
- macOS 版构建文档
- windows Cygwin 版构建文档
- windows WSL 版构建文档
- swoole-cli 构建选项文档
- 打包成二进制可执行文件 文档
- swoole-cli 搭建依赖库镜像服务
- 快速初始化构建环境
git clone --recursive https://github.com/swoole/swoole-cli.git
git clone https://github.com/swoole/swoole-cli.git
git submodule update --init
cd swoole-cli
bash setup-php-runtime.sh
# 或者
bash setup-php-runtime.sh --mirror china
composer install
php prepare.php
php prepare.php +inotify +mongodb -mysqli
- 脚本会自动下载相关的
C/C++
库以及PECL
扩展 - 可使用
+{ext}
或者-{ext}
增减扩展
./make.sh docker-bash
需要将
swoole-cli
的目录映射到容器的/work
目录
./make.sh all-library
./make.sh config
./make.sh build
编译成功后会生成
bin/swoole-cli
./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
代码进行使用、修改、发布的新项目必须含有SWOOLE-CLI LICENSE
的全部内容 - 使用
swoole-cli
代码重新发布为新项目或者产品时,项目或产品名称不得包含swoole
单词