mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-07 08:45:40 +08:00
30 lines
21 KiB
JavaScript
30 lines
21 KiB
JavaScript
import{_ as i,c as a,o as t,aj as e}from"./chunks/framework.C2AwuPrQ.js";const c=JSON.parse('{"title":"第一次构建","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/first-build.md","filePath":"zh/guide/first-build.md"}'),l={name:"zh/guide/first-build.md"};function h(n,s,p,d,k,r){return t(),a("div",null,[...s[0]||(s[0]=[e(`<h1 id="第一次构建" tabindex="-1">第一次构建 <a class="header-anchor" href="#第一次构建" aria-label="Permalink to “第一次构建”"></a></h1><p>本页通过完整的示例演示如何从零开始构建一个静态 PHP 二进制。</p><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>如果你采用的是 spc 二进制方式安装,请将本章节中的所有 <code>spc</code> 替换为 <code>./spc</code> 或 <code>.\\spc.exe</code>。</p><p>如果你采用的是源码安装,请将 <code>spc</code> 替换为 <code>bin/spc</code>。</p></div><h2 id="两种构建方式" tabindex="-1">两种构建方式 <a class="header-anchor" href="#两种构建方式" aria-label="Permalink to “两种构建方式”"></a></h2><p>StaticPHP 提供两种构建方式,根据使用场景选择:</p><table tabindex="0"><thead><tr><th>方式</th><th>适合场景</th></tr></thead><tbody><tr><td><code>craft</code> 一键构建</td><td>日常使用、快速上手</td></tr><tr><td>分步构建</td><td>细化构建流程</td></tr></tbody></table><h2 id="方式一-craft-一键构建-推荐" tabindex="-1">方式一:<code>craft</code> 一键构建(推荐) <a class="header-anchor" href="#方式一-craft-一键构建-推荐" aria-label="Permalink to “方式一:craft 一键构建(推荐)”"></a></h2><p><code>craft</code> 命令读取一个 <code>craft.yml</code> 配置文件,自动完成依赖下载、库编译、PHP 构建的全流程。</p><h3 id="编写-craft-yml" tabindex="-1">编写 craft.yml <a class="header-anchor" href="#编写-craft-yml" aria-label="Permalink to “编写 craft.yml”"></a></h3><p>在当前目录创建 <code>craft.yml</code>,声明要编译的 PHP 版本、扩展和目标 SAPI:</p><div class="language-yaml"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">php-version</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">8.5</span></span>
|
||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">extensions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">bcmath,posix,phar,zlib,openssl,curl,fileinfo,tokenizer</span></span>
|
||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">sapi</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">cli</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">micro</span></span></code></pre></div><p>不想手动编写?试试<a href="./cli-generator.html">命令行生成器</a>自动生成配置。</p><h3 id="开始构建" tabindex="-1">开始构建 <a class="header-anchor" href="#开始构建" aria-label="Permalink to “开始构建”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> craft</span></span></code></pre></div><p>构建过程依次执行:下载依赖 → 编译依赖库 → 编译 PHP。全程无需人工干预。</p><p>如需查看详细日志,加上 <code>-v</code>、<code>-vv</code> 或 <code>-vvv</code> 参数:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> craft</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -v</span></span></code></pre></div><h3 id="查看产物" tabindex="-1">查看产物 <a class="header-anchor" href="#查看产物" aria-label="Permalink to “查看产物”"></a></h3><p>构建成功后,产物均位于 <code>buildroot/bin/</code>:</p><table tabindex="0"><thead><tr><th>SAPI</th><th>产物路径</th></tr></thead><tbody><tr><td>cli</td><td><code>buildroot/bin/php</code>(Windows:<code>buildroot/bin/php.exe</code>)</td></tr><tr><td>fpm</td><td><code>buildroot/bin/php-fpm</code></td></tr><tr><td>micro</td><td><code>buildroot/bin/micro.sfx</code></td></tr><tr><td>embed</td><td><code>buildroot/lib/libphp.a</code></td></tr><tr><td>frankenphp</td><td><code>buildroot/bin/frankenphp</code></td></tr></tbody></table><p>验证一下 cli 是否可用:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./buildroot/bin/php</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -v</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./buildroot/bin/php</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -m</span></span></code></pre></div><h2 id="方式二-分步构建" tabindex="-1">方式二:分步构建 <a class="header-anchor" href="#方式二-分步构建" aria-label="Permalink to “方式二:分步构建”"></a></h2><p>分步方式适合需要将下载与编译拆分为独立阶段的场景,例如在 CI 中缓存下载内容以加速后续构建。</p><h3 id="第一步-下载依赖" tabindex="-1">第一步:下载依赖 <a class="header-anchor" href="#第一步-下载依赖" aria-label="Permalink to “第一步:下载依赖”"></a></h3><p>v3 版本中,你可以省略这一步骤,直接构建想要的内容,StaticPHP 会自动下载所需的依赖库和扩展源码。</p><p>但如果你想提前下载,或在网络环境较差的情况下分阶段构建,可以使用 <code>download</code> 命令:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 按扩展列表下载(推荐,只下载实际需要的内容)</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> download</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --for-extensions=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"bcmath,posix,phar,zlib,openssl,curl,fileinfo,tokenizer"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --with-php=8.5</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 按依赖包列表下载</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> download</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "curl,openssl"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --with-php=8.5</span></span></code></pre></div><p>下载内容缓存在 <code>downloads/</code> 目录,重复构建时会直接复用。</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 网络较慢时,可增大并发数和重试次数</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> download</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --for-extensions=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"bcmath,openssl,curl"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --parallel</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 10</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --retry=3</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 优先使用预编译的二进制依赖,跳过源码编译(大幅加速构建)</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> download</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --for-extensions=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"bcmath,openssl,curl"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --prefer-binary</span></span></code></pre></div><h3 id="第二步-构建-php" tabindex="-1">第二步:构建 PHP <a class="header-anchor" href="#第二步-构建-php" aria-label="Permalink to “第二步:构建 PHP”"></a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 构建 cli SAPI</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build:php</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "bcmath,phar,zlib,openssl,curl,fileinfo,tokenizer"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 同时构建多个 SAPI</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build:php</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "bcmath,phar,zlib,openssl,curl"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-micro</span></span></code></pre></div><h4 id="常用构建选项" tabindex="-1">常用构建选项 <a class="header-anchor" href="#常用构建选项" aria-label="Permalink to “常用构建选项”"></a></h4><table tabindex="0"><thead><tr><th>选项</th><th>说明</th></tr></thead><tbody><tr><td><code>--build-cli</code></td><td>构建 cli SAPI</td></tr><tr><td><code>--build-fpm</code></td><td>构建 php-fpm(不支持 Windows)</td></tr><tr><td><code>--build-micro</code></td><td>构建 micro.sfx</td></tr><tr><td><code>--build-embed</code></td><td>构建嵌入式 SAPI</td></tr><tr><td><code>--build-frankenphp</code></td><td>构建 FrankenPHP</td></tr><tr><td><code>--enable-zts</code></td><td>启用线程安全(ZTS)版本</td></tr><tr><td><code>--no-strip</code></td><td>保留调试符号,不精简二进制</td></tr><tr><td><code>-I key=value</code></td><td>硬编译 INI 选项到 PHP 中</td></tr><tr><td><code>--with-upx-pack</code></td><td>用 UPX 压缩产物(需先 <code>spc install-pkg upx</code>)</td></tr></tbody></table><p>硬编译 INI 的例子——预设更大的内存限制,并禁用 <code>system</code> 函数:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build:php</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "bcmath,pcntl,posix"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -I</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "memory_limit=4G"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -I</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "disable_functions=system"</span></span></code></pre></div><h2 id="打包-micro-应用" tabindex="-1">打包 micro 应用 <a class="header-anchor" href="#打包-micro-应用" aria-label="Permalink to “打包 micro 应用”"></a></h2><p>构建 <code>micro.sfx</code> 后,用 <code>micro:combine</code> 将你的 PHP 代码打包进去,生成一个完全独立的可执行文件:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">echo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "<?php echo 'Hello, World!' . PHP_EOL;"</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> ></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> hello.php</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> micro:combine</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> hello.php</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --output=hello</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./hello</span></span></code></pre></div><p>也支持打包 <code>.phar</code> 文件,以及注入 INI 配置:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 打包 phar</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> micro:combine</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> your-app.phar</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --output=your-app</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 打包时注入 INI</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> micro:combine</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> your-app.phar</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --output=your-app</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -I</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "memory_limit=512M"</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 从 ini 文件注入配置</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> micro:combine</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> your-app.phar</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --output=your-app</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -N</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> /path/to/custom.ini</span></span></code></pre></div><h2 id="调试与重新构建" tabindex="-1">调试与重新构建 <a class="header-anchor" href="#调试与重新构建" aria-label="Permalink to “调试与重新构建”"></a></h2><p>构建失败,或想查看详细过程,使用 <code>-v</code> / <code>-vv</code> / <code>-vvv</code>:</p><ul><li><code>-v</code> 将显示 <code>INFO</code> 级别的日志,包含执行到的模块和执行的编译命令等。</li><li><code>-vv</code> 将显示 <code>DEBUG</code> 级别的日志,包含所有 StaticPHP 中调试级别的日志。</li><li><code>-vvv</code> 将显示 <code>DEBUG</code> 级别的日志,并将其他 shell 命令执行的 STDOUT 输出到终端。</li></ul><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build:php</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "bcmath,openssl"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -vv</span></span></code></pre></div><p>或者,你也可以查看 <code>log/spc.shell.log</code> 和 <code>log/spc.output.log</code> 获取终端输出和 StaticPHP 日志。</p><p>如需清理编译中间产物、从头重新构建(不重新下载),使用 <code>reset</code>:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> reset</span></span>
|
||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># 然后重新构建</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build:php</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "bcmath,openssl"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p><code>reset</code> 只清理 <code>buildroot/</code> 和 <code>source/</code> 目录,不会删除 <code>downloads/</code> 缓存。 如需同时清理下载缓存,加上 <code>--with-download</code> 参数。</p></div><p>如果问题持续无法解决,欢迎提交 <a href="https://github.com/crazywhalecc/static-php-cli/issues" target="_blank" rel="noreferrer">Issue</a>,并附上 <code>craft.yml</code>(如有)和 <code>log/</code> 目录的压缩包。</p><h2 id="接下来" tabindex="-1">接下来 <a class="header-anchor" href="#接下来" aria-label="Permalink to “接下来”"></a></h2><ul><li><a href="./sapi-reference.html">PHP SAPI 构建参考</a> - 各个 PHP 的 SAPI 构建及使用指南</li><li><a href="./cli-reference.html">命令行参考</a> — 所有命令与选项的完整说明</li><li><a href="./extensions.html">扩展列表</a> — 查看支持的扩展及其依赖关系</li><li><a href="./troubleshooting.html">常见问题</a> — 构建失败时的排查指南</li></ul>`,52)])])}const g=i(l,[["render",h]]);export{c as __pageData,g as default};
|