一个让 C/C++ 程序一次构建、到处运行的标准库与工具链,产物可在多种操作系统上原生运行。
crazywhalecc/static-php-cli
一个命令行工具,可为 Linux、macOS 和 Windows 构建无外部依赖、可直接运行的独立 PHP 可执行文件。
- Star
- 1,966
- Fork
- 433
- 未关闭 Issue
- 36
- 最近提交
- 前天
这是什么?
StaticPHP(仓库名仍为 static-php-cli)用于构建可移植的 PHP 可执行文件,将 PHP 解释器、所选扩展及相关组件打包为单个文件。生成的二进制可以复制到其他机器上直接运行,无需安装 PHP 或共享库。
用户在 craft.yml 中指定 PHP 版本和扩展列表,再运行 spc 工具编译。支持 PHP 8.1 至 8.5,8.6 为预发布版本。既可以生成独立的 php-cli,也可以生成把 PHP 源码嵌入其中的 phpmicro 自解压可执行文件。内置的环境检查工具可以检测并协助安装缺失的构建依赖。
项目还提供多种扩展组合的预编译下载,并支持通过 GitHub Actions 按自定义扩展列表构建。
核心功能
- 01生成无运行时依赖的单文件 PHP CLI 可执行文件。
- 02可将 PHP 源码打包为 phpmicro 自解压可执行文件。
- 03支持 PHP 8.1 至 8.5,8.6 为预发布版本。
- 04提供 100 多种可选 PHP 扩展。
- 05支持 Linux、macOS 和 Windows。
- 06内置构建环境检查,并可自动修复依赖问题。
适用场景
- 在没有安装 PHP 的服务器上部署 PHP 命令行工具。
- 将 PHP 应用以单个可执行文件的形式分发给最终用户。
- 为容器或精简 Linux 镜像制作体积较小的 PHP 运行时。
- 在 CI 流水线中按指定扩展集合构建 PHP。
快速上手
- 1
下载 Linux x86_64 版 spc 二进制文件
curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/nightly/spc-linux-x86_64 - 2
为 spc 添加可执行权限
chmod +x ./spc - 3
创建 craft.yml 文件,指定 PHP 版本和扩展
- 4
根据 craft.yml 构建静态 PHP
./spc craft
使用前须知
- v3 分支尚未正式发布,PHP 8.6 仍为预发布版本。
- Windows 构建需要先安装带 C++ 工具的 Visual Studio 2022。
收录于专题
标签
常见问题
- static-php-cli 是什么?
- 一个命令行工具,可为 Linux、macOS 和 Windows 构建无外部依赖、可直接运行的独立 PHP 可执行文件。 StaticPHP(仓库名仍为 static-php-cli)用于构建可移植的 PHP 可执行文件,将 PHP 解释器、所选扩展及相关组件打包为单个文件。生成的二进制可以复制到其他机器上直接运行,无需安装 PHP 或共享库。
- static-php-cli 可以免费使用吗?用的什么许可证?
- static-php-cli 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- static-php-cli 还在维护吗?
- 活跃维护中。static-php-cli 最近一次提交是在 2026年11月5日。
- static-php-cli 适合用来做什么?
- 在没有安装 PHP 的服务器上部署 PHP 命令行工具。 将 PHP 应用以单个可执行文件的形式分发给最终用户。 为容器或精简 Linux 镜像制作体积较小的 PHP 运行时。 在 CI 流水线中按指定扩展集合构建 PHP。
- static-php-cli 怎么安装和运行?
- 下载 Linux x86_64 版 spc 二进制文件: curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/nightly/spc-linux-x86_64 为 spc 添加可执行权限: chmod +x ./spc 创建 craft.yml 文件,指定 PHP 版本和扩展 根据 craft.yml 构建静态 PHP: ./spc craft
- 在哪里获取 static-php-cli?
- 源代码和安装说明在 GitHub 上:https://github.com/crazywhalecc/static-php-cli
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
类似 jq 的命令行工具与查询语言,用于查看和查询二进制文件格式,内置多种格式解码器。
一款分析编译后 Go 二进制文件体积构成的工具,可按包、段和符号拆解,支持文本、JSON、HTML、SVG、网页和终端界面输出。
用于构建、打包和发布 Electron 桌面应用的完整工具链,覆盖从项目初始化到发布的全流程。
SCons 是一个基于 Python 的软件构建工具,自动判断需要重新构建的部分并执行相应命令。
基于 Caddy 构建的现代 PHP 应用服务器,支持 worker 模式、Early Hints 与 HTTP/3。