Files
static-php-cli/assets/zh_guide_migrate-from-v2.md.Df8wnmfP.js

22 lines
20 KiB
JavaScript
Raw Normal View History

import{_ as d,c as e,o as i,aj as s}from"./chunks/framework.C2AwuPrQ.js";const k=JSON.parse('{"title":"从 v2 迁移","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/migrate-from-v2.md","filePath":"zh/guide/migrate-from-v2.md"}'),a={name:"zh/guide/migrate-from-v2.md"};function l(c,t,h,o,n,p){return i(),e("div",null,[...t[0]||(t[0]=[s(`<h1 id="从-v2-迁移" tabindex="-1">从 v2 迁移 <a class="header-anchor" href="#从-v2-迁移" aria-label="Permalink to “从 v2 迁移”"></a></h1><p>StaticPHP v3 是一次完整的重写。核心构建流程(<code>download → build → combine</code>)保持不变,但部分命令、选项和配置字段已发生变化。本页列出了切换前所有需要更新的内容。</p><div class="info custom-block"><p class="custom-block-title">范围说明</p><p>本指南仅涵盖面向用户的 CLI 命令、选项、<code>craft.yml</code> 字段和 <code>env.ini</code> 变量名称。不涵盖内部 PHP API。</p></div><h2 id="文档地址变更" tabindex="-1">文档地址变更 <a class="header-anchor" href="#文档地址变更" aria-label="Permalink to “文档地址变更”"></a></h2><p>官方文档站点已迁移:</p><ul><li><strong>v3 文档(当前)</strong><a href="https://static-php.dev" target="_blank" rel="noreferrer">https://static-php.dev</a> — 主站现在托管 v3 文档。</li><li><strong>v2 文档(归档)</strong><a href="https://static-php.github.io/v2-docs/" target="_blank" rel="noreferrer">https://static-php.github.io/v2-docs/</a> — v2 文档已归档保留,供参考。</li></ul><p>请更新你保存的书签或内部链接。</p><h2 id="spc-二进制下载地址变更" tabindex="-1"><code>spc</code> 二进制下载地址变更 <a class="header-anchor" href="#spc-二进制下载地址变更" aria-label="Permalink to “spc 二进制下载地址变更”"></a></h2><p>nightly <code>spc</code> 自包含二进制文件已迁移到新路径:</p><table tabindex="0"><thead><tr><th></th><th>地址</th></tr></thead><tbody><tr><td><strong>v2</strong></td><td><code>https://dl.static-php.dev/static-php-cli/spc-bin/nightly/</code></td></tr><tr><td><strong>v3</strong></td><td><code>https://dl.static-php.dev/v3/spc-bin/nightly/</code></td></tr></tbody></table><p>请更新所有直接下载 <code>spc</code> 二进制的 CI 脚本或初始化命令,例如:</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;"># v2</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -o</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://dl.static-php.dev/static-php-cli/spc-bin/nightly/spc-linux-x86_64</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># v3</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -o</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://dl.static-php.dev/v3/spc-bin/nightly/spc-linux-x86_64</span></span></code></pre></div><h2 id="" tabindex="-1"> <a class="header-anchor" href="#" aria-label="Permalink to "></a></h2><table tabindex="0"><thead><tr><th>v2 </th><th>v3 </th><th></th></tr></thead><tbody><tr><td><code>del-download</code></td><td><code>spc reset</code></td><td><code>reset</code> <code>--with-pkgroot</code> <code>--with-download</code> </td></tr><tr><td><code>del-download --all</code></td><td><code>spc reset --with-download</code></td><td></td></tr></tbody></table><h2 id="" tabindex="-1"> <a class="header-anchor" href="#" aria-label="Permalink to "></a></h2><h3 id="with-added-patch-p-build-" tabindex="-1"><code>--with-added-patch</code> / <code>-P</code>build <a class="header-anchor" href="#with-added-patch-p-build-" aria-label="Permalink to --with-added-patch / -Pbuild "></a></h3><p> PHP patch <strong>v3 </strong></p><p></p><ul><li> patch StaticPHP </li><li> patch使 registry Package <a href="/zh/develop/extending/package-classes.html"> Package </a></li></ul><div class="tip custom-block"><p class="custom-block-title"></p><p> patch hook API</p></div><h3 id="windows--with-sdk-binary-dir--vs-ver" tabindex="-1">Windows <code>--with-sdk-binary-dir</code> <code>--vs-ver</code> <a class="header-anchor" href="#windows--with-sdk-binary-dir--vs-ver" aria-label="Permalink to Windows --with-sdk-binary-dir --vs-ver"></a></h3><p> <code>PHP_SDK_PATH</code> PHP SDK binary tools Visual Studio </p><h2 id="-" tabindex="-1"> / <a class="header-anchor" href="#-" aria-label="Permalink to / "></a></h2><p></p><table tabindex="0"><thead><tr><th>v2 </th><th>v3 </th><th></th></tr></thead><tbody><tr><td><code>--prefer-pre-built</code></td><td><code>--prefer-binary</code> / <code>-p</code></td><td></td></tr><tr><td><code>--with-libs=&lt;list&gt;</code></td><td><code>--with-packages=&lt;list&gt;</code></td><td></td></tr><tr><td><code>--with-suggested-libs</code> / <code>-L</code></td><td><code>--with-suggests</code></td><td> <code>-L</code> / <code>-E</code> </td></tr><tr><td><code>--with-suggested-exts</code> / <code>-E</code></td><td><code>--with-suggests</code></td><td></td></tr></tbody></table><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 styl
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> curl,gd</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --with-libs=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;openssl&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -L</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> -E</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># v3</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> curl,gd</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --with-packages=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;openssl&quot;</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --with-suggests</span></span></code></pre></div><h2 id="build-" tabindex="-1"><code>build</code> <a class="header-anchor" href="#build-" aria-label="Permalink to build "></a></h2><p><code>build</code> <code>build:php</code> v3 <strong></strong> SAPI </p><table tabindex="0"><thead><tr><th>v2</th><th>v3 </th></tr></thead><tbody><tr><td><code>spc build exts --build-cli</code></td><td><code>spc build:php-cli exts</code></td></tr><tr><td><code>spc build exts --build-fpm</code></td><td><code>spc build:php-fpm exts</code></td></tr><tr><td><code>spc build exts --build-cgi</code></td><td><code>spc build:php-cgi exts</code></td></tr><tr><td><code>spc build exts --build-micro</code></td><td><code>spc build:php-micro exts</code></td></tr><tr><td><code>spc build exts --build-embed</code></td><td><code>spc build:php-embed exts</code></td></tr><tr><td><code>spc build exts --build-frankenphp</code></td><td><code>spc build:frankenphp exts</code></td></tr></tbody></table><p> SAPI使 <code>build:php</code><code>--build-*</code> </p><h3 id="" tabindex="-1"> <a class="header-anchor" href="#" aria-label="Permalink to "></a></h3><p>v3 <code>build:*</code> <code>spc 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;"># v2 </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=curl,gd</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> curl,gd</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;"># v3 一步即可</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-cli</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> curl,gd</span></span></code></pre></div><p> CI <code>--no-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:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build:php-cli</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> curl,gd</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --no-download</span></span></code></pre></div><h2 id="download-" tabindex="-1"><code>download</code> <a class="header-anchor" href="#download-" aria-label="Permalink to download "></a></h2><table tabindex="0"><thead><tr><th>v2</th><th>v3</th><th></th></tr></thead><tbody><tr><td><code>--prefer-pre-built</code></td><td><code>--prefer-binary</code> / <code>-p</code></td><td></td></tr><tr><td><code>--with-libs</code></td><td><code>--for-libs</code></td><td></td></tr><tr><td><em></em></td><td><code>--for-packages</code></td><td></td></tr><tr><td><em></em></td><td><code>--parallel</code> / <code>-P</code></td><td></td></tr><tr><td><em></em></td><td><code>--retry</code> / <code>-R</code></td><td></td></tr></tbody></table><h2 id="-dev-" tabindex="-1"> dev <a class="header-anchor" href="#-dev-" aria-label="Permalink to dev "></a></h2><p></p><table tabindex="0"><thead><tr><th>v2 </th><th>v3 </th></tr></thead><tbody><tr><td><code>dev:extensions</code> / <code>list-ext</code></td><td><code>spc dev:info &lt;package&gt;</code></td></tr><tr><td><code>dev:ext-version</code> / <code>dev:ext-ver</code></td><td><code>spc dev:info &lt;package&gt;</code></td></tr><tr><td><code>dev:lib-version</code> / <code>dev:lib-ver</code></td><td><code>spc dev:info &lt;package&gt;</code></td></tr><tr><td><code>dev:php-version</code> / <code>dev:php-ver</code></td><td><code>spc dev:info php-src</code></td></tr><tr><td><code>dev:gen-ext-dep-docs</code> + <code>dev:gen-lib-dep-docs</code></td><td><code>spc dev:gen-deps-data</code></td></tr></tbody></table><h2 id="-dev-" tabindex="-1"> dev <a class="header-anchor" href="#-dev-" aria-label="Permalink to dev "></a></h2><table tabindex="0"><thead><tr><th>v2</th><th>v3</th><th></th></tr></thead><tbody><tr><td><code>dev:sort-config</code> / <code>sort-config</code></td><td><code>dev:lint-config</code></td><td></td></tr></tbody></table><h2 id="v3-" tabindex="-1">v3 <a class="header-anchor" href="#v3-" aria-label="Permalink to v3 "></a></h2><p> v3 v2 </p><table tabindex="0"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><code>spc reset</code></td><td> <code>buildroot/</code> <code>source/</code> </td></tr><tr><td><code>spc check-update</code></td><td> artifact </td></tr><tr><td><code>spc build:php-cli</code></td><td> CLI SAPI</td></tr><tr><td><code>spc build:php-fpm</code></td><td> PHP-FPM</td></tr><tr><td><code>spc build:php-cgi</code></td><td> PHP CGI</td></tr>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">build-options</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> with-added-patch</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;">my-patch.php</span></span></code></pre></div><h3 id="libs--packages-" tabindex="-1"><code>libs</code> <code>packages</code> <a class="header-anchor" href="#libs--packages-" aria-label="Permalink to libs packages"></a></h3><p> <code>libs</code> v3 使 <code>packages</code> <code>libs</code> </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:#6A737D;--shiki-dark:#6A737D;"># v2</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">libs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">nghttp2,liblz4</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># v3推荐</span></span>
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">packages</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">nghttp2,liblz4</span></span></code></pre></div><h2 id="env-ini-" tabindex="-1"><code>env.ini</code> <a class="header-anchor" href="#env-ini-" aria-label="Permalink to env.ini "></a></h2><p> <code>config/env.ini</code> CI </p><table tabindex="0"><thead><tr><th>v2 </th><th>v3 </th></tr></thead><tbody><tr><td><code>SPC_LINUX_DEFAULT_CC</code></td><td><code>SPC_DEFAULT_CC</code></td></tr><tr><td><code>SPC_LINUX_DEFAULT_CXX</code></td><td><code>SPC_DEFAULT_CXX</code></td></tr><tr><td><code>SPC_LINUX_DEFAULT_AR</code></td><td><code>SPC_DEFAULT_AR</code></td></tr><tr><td><code>SPC_LINUX_DEFAULT_LD</code></td><td><code>SPC_DEFAULT_LD</code></td></tr><tr><td><code>SPC_LIBC</code></td><td><code>SPC_TARGET</code></td></tr></tbody></table><p><code>SPC_TARGET</code> 使 libc </p><table tabindex="0"><thead><tr><th>v2</th><th>v3</th></tr></thead><tbody><tr><td><code>SPC_LIBC=musl</code></td><td><code>SPC_TARGET=x86_64-linux-musl</code></td></tr><tr><td><code>SPC_LIBC=gnu</code></td><td><code>SPC_TARGET=x86_64-linux-gnu.2.17</code></td></tr></tbody></table><p>v3 <code>SPC_ENABLE_LOG_FILE</code><code>SPC_LOGS_DIR</code><code>SPC_PRESERVE_LOGS</code><a href="/zh/guide/env-vars.html"></a></p>`,59)])])}const b=d(a,[["render",l]]);export{k as __pageData,b as default};