Awesome
swoole-cli
Swoole-Cli
是一个 PHP
的二进制发行版,<br/>
集成了 swoole
、php 内核
、php-cli
、php-fpm
以及多个常用扩展。<br/>
Swoole-Cli
是全部静态编译打包的,不依赖任何操作系统的so
动态链接库,具备非常好的移植性,<br/>
可以在任意 Linux
/macOS
/Windows(CygWin)
系统之间复制,下载即可使用。
作为 PHP 开发者都应该知道 PHP 有两种运行模式:php-fpm和php-cli,<br/> 那么在 Swoole 5.0 中将迎来一种新的运行模式:swoole-cli。<br/> <strong> Swoole将像node.js这样作为独立程序提供给用户,而不是作为PHP的一个扩展。 </strong><br/> 除此之外swoole-cli会尽可能地对php-src进行裁剪,<br/> 移除一些不用的机制、模块、扩展、函数、类型、常量、代码,使得整个程序可以在几分钟之内编译完成。
相关文章
- 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 了
下载swoole-cli
发行版
- https://www.swoole.com/download (recommend)
- https://github.com/swoole/swoole-cli/releases
- https://github.com/swoole/swoole-src/releases
立即使用 swoole-cli
curl -fSL https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.sh?raw=true | bash
# 来自 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 版构建文档
- macOS 版构建文档
- windows Cygwin 版构建文档
- windows WSL 版构建文档
- swoole-cli 构建选项文档
- 打包成二进制可执行文件 文档
- swoole-cli 搭建依赖库镜像服务
- 快速初始化构建环境
Clone
git clone --recursive https://github.com/swoole/swoole-cli.git
git clone https://github.com/swoole/swoole-cli.git
git submodule update --init
快速准备 PHP 运行时
cd swoole-cli
bash setup-php-runtime.sh
# 来自 https://www.swoole.com/download
bash setup-php-runtime.sh --mirror china
生成构建脚本
composer install
php prepare.php
php prepare.php +inotify +mongodb -mysqli
- 脚本会自动下载相关的
C/C++
库以及PECL
扩展 - 可使用
+{ext}
或者-{ext}
增减扩展
进入 Docker Bash
./make.sh docker-bash
需要将
swoole-cli
的目录映射到容器的/work
目录
构建 C/C++
依赖库
./make.sh all-library
编译配置
./make.sh config
构建 swoole-cli
./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 LICENSE
- 对
swoole-cli
代码进行使用、修改、发布的新项目必须含有SWOOLE-CLI LICENSE
的全部内容 - 使用
swoole-cli
代码重新发布为新项目或者产品时,项目或产品名称不得包含swoole
单词