- Notifications
You must be signed in to change notification settings - Fork2
swoole/build-static-php
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
构建静态 原生 php-cli 运行时 和 fastcgi 进程管理器 php-fpm
php-cli 是一个PHP的 运行时 ,默认包含 swoole 扩展
本项目 派生于swoole-cli
代码与 swoole-cli 项目的 build_native_php 分支的代码 保持一致
构建流程 与 swoole-cli 构建流程一致
项目继承
swoole_cli项目的main分支、experiment分支的构建功能
未对 PHP 源码 执行 裁剪、优化、添加新功能等操作
可指定 PHP 版本 构建原生 PHP 版本
可编译包含 swow 扩展
curl -fSL https://github.com/swoole/build-static-php/blob/main/setup-php-cli-runtime.sh?raw=true| bash# windows powershellirm https://github.com/swoole/build-static-php/blob/main/setup-swoole-cli-runtime.ps1?raw=true| iex# windows powershellirm https://github.com/swoole/swoole-cli/blob/main/setup-swoole-cli-runtime.ps1?raw=true| iex# 来自 https://www.swoole.com/downloadcurl -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/build-static-php/blob/main/setup-php-cli-runtime.sh?raw=true| bash -s -- --version v5.1.6.0
- linux 版构建文档
- macOS 版构建文档
- windows Cygwin 版构建文档
- windows WSL 版构建文档
- php-cli 构建选项文档
- php-cli 搭建依赖库镜像服务
- quickstart
- 常见问题解答
git clone -b main https://github.com/swoole/build-static-php.git# 或者git clone --recursive -b build_native_php https://github.com/swoole/swoole-cli.gitcd swoole-clibash setup-php-runtime.sh# 或者使用镜像# 来自 https://www.swoole.com/downloadbash 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 phpphp -v
如容器已经安装,可跳过执行安装 docker 命令
sh sapi/quickstart/linux/install-docker.shsh sapi/quickstart/linux/run-alpine-container.shsh sapi/quickstart/linux/connection-swoole-cli-alpine.shsh sapi/quickstart/linux/alpine-init.sh# 使用镜像源安装sh sapi/quickstart/linux/install-docker.sh --mirror chinash sapi/quickstart/linux/alpine-init.sh --mirror china如 homebrew 已安装,可跳过执行安装 homebrew 命令
bash sapi/quickstart/macos/install-homebrew.shbash sapi/quickstart/macos/macos-init.sh# 使用镜像源安装bash sapi/quickstart/macos/install-homebrew.sh --mirror chinabash sapi/quickstart/macos/macos-init.sh --mirror chinacp build-release-example.sh build-release.sh# 按你的需求修改配置 OPTIONS="${OPTIONS} --with-libavif=1 "vi build-release.sh# 执行构建流程bash build-release.sh
composer updatephp prepare.php# 指定PHP 版本php prepare.php +inotify +mongodb -mysqli --with-php-version=8.2.13# 使用镜像站下载依赖库php prepare.php +inotify +mongodb -mysqli --with-download-mirror-url=https://php-cli.jingjingxyk.com/# 使用代理下载依赖库php prepare.php +inotify +mongodb -mysqli --with-http-proxy=socks5h://192.168.3.26:2000# 只编译单个扩展(swoole)php prepare.php +swoole --with-override-default-enabled-ext=1# 编译最新版 swoolephp prepare.php -swoole +swoole_latest# 编译最新版 swowphp prepare.php -swoole +swow_latest
- 脚本会自动下载相关的
C/C++库以及PECL扩展 - 可使用
+{ext}或者-{ext}增减扩展
bash make-install-deps.sh
./make.sh all-library
./make.sh config
./make.sh build
编译成功后会生成
bin/php-{version}/bin/php
./make.sh archive
打包成功后会生成
php-cli-{version}-{os}-{arch}.tar.xz压缩包,包含php可执行文件、LICENSE授权协议文件。
php-cli使用了多个其他开源项目,请认真阅读自动生成的bin/LICENSE文件中版权协议,遵守对应开源项目的LICENSEphp-cli本身的软件源代码、文档等内容以Apache 2.0 LICENSE+SWOOLE-CLI LICENSE作为双重授权协议,用户需要同时遵守Apache 2.0 LICENSE和SWOOLE-CLI LICENSE所规定的条款
- 对
swoole-cli代码进行使用、修改、发布的新项目必须含有SWOOLE-CLI LICENSE的全部内容 - 使用
swoole-cli代码重新发布为新项目或者产品时,项目或产品名称不得包含swoole单词
About
build static php cli runtime and php-fpm
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors12
Uh oh!
There was an error while loading.Please reload this page.