import{_ase,casr,oast,ajasi}from"./chunks/framework.C2AwuPrQ.js";constd=JSON.parse('{"title":"构建指南","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/index.md","filePath":"zh/guide/index.md"}'),o={name:"zh/guide/index.md"};functionn(p,a,l,c,s,h){returnt(),r("div",null,[...a[0]||(a[0]=[i('<h1id="构建指南"tabindex="-1">构建指南<aclass="header-anchor"href="#构建指南"aria-label="Permalink to “构建指南”"></a></h1><divclass="warningcustom-block"><pclass="custom-block-titlecustom-block-title-default">WARNING</p><p>你正在阅读StaticPHPv3版本的文档,v2版本将在v3稳定发布后废弃。v3版本目前仍处于alpha阶段,你可以在<ahref="https://static-php.github.io/v2-docs/"target="_blank"rel="noreferrer">这里</a>查看v2文档。</p></div><h2id="staticphp-是什么"tabindex="-1">StaticPHP是什么<aclass="header-anchor"href="#staticphp-是什么"aria-label="Permalinkto“StaticPHP是什么”"></a></h2><p>StaticPHP是一个构建工具,能够将PHP解释器与你所需的扩展一起编译成一个独立的二进制文件,无需在目标系统上预先安装PHP或任何依赖库。构建产物可以直接分发和运行,适用于Linux、macOS和Windows平台。</p><p>StaticPHP的能力不止于PHP。依托同一套构建基础设施,它还可以将<code>curl</code>、<code>pkg-config</code>、<code>htop</code>等常用命令行工具编译为独立的静态二进制,无需在目标机器上安装任何依赖即可直接运行。后续还会持续扩充内置支持的工具集。</p><h2id="为什么要构建静态-php"tabindex="-1">为什么要构建静态PHP<aclass="header-anchor"href="#为什么要构建静态-php"aria-label="Permalinkto“为什么要构建静态PHP”"></a></h2><p>普通PHP安装依赖系统环境:你需要先安装PHP、再装扩展、再处理各个发行版之间的差异。将PHP构建为静态二进制之后,这些问题都不再存在——你得到的是一个单文件可执行程序,在任何相同架构的系统上开箱即用。</p><p>典型使用场景:</p><ul><li><strong>部署命令行工具</strong>:把PHP工具(如Composer、PHPStan、自研CLI)打包后直接分发,用户无需安装PHP。</li><li><strong>容器和嵌入式环境</strong>:用最小体积的静态PHP替代臃肿的基础镜像。</li><li><strong>服务端应用</strong>:构建包含FPM或FrankenPHPSAPI的静态二进制,部署更简单,不依赖宿主机环境。</li></ul><h2id="phpmicro-把-php-和你的代码打包成一个文件"tabindex="-1">phpmicro:把PHP和你的代码打包成一个文件<aclass="header-anchor"href="#phpmicro-把-php-和你的代码打包成一个文件"aria-label="Permalinkto“phpmicro:把PHP和你的代码打包成一个文件”"></a></h2><p><ahref="https://micro.static-php.dev"target="_blank"rel="noreferrer">phpmicro</a>是一个第三方PHPSAPI,StaticPHP对其提供原生支持。它能将PHP解释器本身和你的<code>.php</code>源文件(或<code>.phar</code>打包文件)合并成单个自解压可执行文件(<code>sfx</code>)。</p><divclass="language-"><buttontitle="CopyCode"class="copy"></button><spanclass="lang"></span><preclass="shikishiki-themesgithub-lightgithub-dark"style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;"tabindex="0"dir="ltr"><code><spanclass="line"><span>micro.sfx+your-app.phar=your-app(可直接运行,无任何依赖)</span></span></code></pre></div><p>这特别适合分发PHP编写的命令行工具:用户拿到的只是一个普通的可执行文件,完全感知不到背后是PHP。</p><h2id="改善你的项目分发与部署"tabindex="-1">改善你的项目分发与部署<aclass="header-anchor"href="#改善你的项目分发与部署"aria-label="Permalinkto“改善你的项目分发与部署”"></a></h2><p><strong>取代臃肿的Docker