Repolode
crazywhalecc

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. 1

    下载 Linux x86_64 版 spc 二进制文件

    curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/nightly/spc-linux-x86_64
  2. 2

    为 spc 添加可执行权限

    chmod +x ./spc
  3. 3

    创建 craft.yml 文件,指定 PHP 版本和扩展

  4. 4

    根据 craft.yml 构建静态 PHP

    ./spc craft

使用前须知

  • v3 分支尚未正式发布,PHP 8.6 仍为预发布版本。
  • Windows 构建需要先安装带 C++ 工具的 Visual Studio 2022。

收录于专题

标签

#php#static-binary#cli#build-tool#portable-executable#cross-platform#alpine#binary#frankenphp#php-cli

常见问题

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 的命令行工具与查询语言,用于查看和查询二进制文件格式,内置多种格式解码器。

开发者工具#binary#cli#jq
1.1万+4 本周257GoOther更新于 前天