mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-17 20:34:51 +08:00
deploy: 41fb29eba46f2ff275a6564d2ddb81f18c038993
This commit is contained in:
parent
d9b18d1437
commit
ca11cfbf68
13
assets/chunks/CliGenerator.CiBuU_lp.js
Normal file
13
assets/chunks/CliGenerator.CiBuU_lp.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
assets/chunks/SearchTable.DC7Tsu3d.js
Normal file
1
assets/chunks/SearchTable.DC7Tsu3d.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -9,7 +9,7 @@ import{_ as i,c as a,o as e,ah as t}from"./chunks/framework.Bhsyh9kO.js";const E
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "path"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"LICENSE"</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>The most important field here is <code>type</code>. Currently, the types it supports are:</p><ul><li><code>url</code>: Directly use URL to download, for example: <code>https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz</code>.</li><li><code>ghrel</code>: Use the GitHub Release API to download, download the artifacts uploaded from the latest version released by maintainers.</li><li><code>ghtar</code>: Use the GitHub Release API to download. Different from <code>ghrel</code>, <code>ghtar</code> is downloaded from the <code>source code (tar.gz)</code> in the latest Release of the project.</li><li><code>ghtagtar</code>: Use GitHub Release API to download. Compared with <code>ghtar</code>, <code>ghtagtar</code> can find the latest one from the <code>tags</code> list and download the source code in <code>tar.gz</code> format (because some projects only use <code>tag</code> release version).</li><li><code>bitbuckettag</code>: Download using BitBucket API, basically the same as <code>ghtagtar</code>, except this one applies to BitBucket.</li><li><code>git</code>: Clone the project directly from a Git address to download sources, applicable to any public Git repository.</li><li><code>filelist</code>: Use a crawler to crawl the Web download site that provides file index, and get the latest version of the file name and download it.</li><li><code>custom</code>: If none of the above download methods are satisfactory, you can write <code>custom</code>, create a new class under <code>src/SPC/store/source/</code>, extends <code>CustomSourceBase</code>, and write the download script yourself.</li></ul><h2 id="source-json-common-parameters" tabindex="-1">source.json Common parameters <a class="header-anchor" href="#source-json-common-parameters" aria-label="Permalink to “source.json Common parameters”"></a></h2><p>Each source file in source.json has the following params:</p><ul><li><code>license</code>: the open source license of the source code, see <strong>Open Source License</strong> section below</li><li><code>type</code>: must be one of the types mentioned above</li><li><code>path</code> (optional): release the source code to the specified directory instead of <code>source/{name}</code></li><li><code>provide-pre-built</code> (optional): whether to provide precompiled binary files. If <code>true</code>, it will automatically try to download precompiled binary files when running <code>bin/spc download</code></li></ul><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>The <code>path</code> parameter in <code>source.json</code> can specify a relative or absolute path. When specified as a relative path, the path is based on <code>source/</code>.</p></div><h2 id="download-type-url" tabindex="-1">Download type - url <a class="header-anchor" href="#download-type-url" aria-label="Permalink to “Download type - url”"></a></h2><p>URL type sources refer to downloading files directly from the URL.</p><p>The parameters included are:</p><ul><li><code>url</code>: The download address of the file, such as <code>https://example.com/file.tgz</code></li><li><code>filename</code> (optional): The file name saved to the local area. If not specified, the file name of the url will be used.</li></ul><p>Example (download the imagick extension and extract it to the extension storage path of the php source code):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>The most important field here is <code>type</code>. Currently, the types it supports are:</p><ul><li><code>url</code>: Directly use URL to download, for example: <code>https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz</code>.</li><li><code>pie</code>: Download PHP extensions from Packagist using the PIE (PHP Installer for Extensions) standard.</li><li><code>ghrel</code>: Use the GitHub Release API to download, download the artifacts uploaded from the latest version released by maintainers.</li><li><code>ghtar</code>: Use the GitHub Release API to download. Different from <code>ghrel</code>, <code>ghtar</code> is downloaded from the <code>source code (tar.gz)</code> in the latest Release of the project.</li><li><code>ghtagtar</code>: Use GitHub Release API to download. Compared with <code>ghtar</code>, <code>ghtagtar</code> can find the latest one from the <code>tags</code> list and download the source code in <code>tar.gz</code> format (because some projects only use <code>tag</code> release version).</li><li><code>bitbuckettag</code>: Download using BitBucket API, basically the same as <code>ghtagtar</code>, except this one applies to BitBucket.</li><li><code>git</code>: Clone the project directly from a Git address to download sources, applicable to any public Git repository.</li><li><code>filelist</code>: Use a crawler to crawl the Web download site that provides file index, and get the latest version of the file name and download it.</li><li><code>custom</code>: If none of the above download methods are satisfactory, you can write <code>custom</code>, create a new class under <code>src/SPC/store/source/</code>, extends <code>CustomSourceBase</code>, and write the download script yourself.</li></ul><h2 id="source-json-common-parameters" tabindex="-1">source.json Common parameters <a class="header-anchor" href="#source-json-common-parameters" aria-label="Permalink to “source.json Common parameters”"></a></h2><p>Each source file in source.json has the following params:</p><ul><li><code>license</code>: the open source license of the source code, see <strong>Open Source License</strong> section below</li><li><code>type</code>: must be one of the types mentioned above</li><li><code>path</code> (optional): release the source code to the specified directory instead of <code>source/{name}</code></li><li><code>provide-pre-built</code> (optional): whether to provide precompiled binary files. If <code>true</code>, it will automatically try to download precompiled binary files when running <code>bin/spc download</code></li></ul><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>The <code>path</code> parameter in <code>source.json</code> can specify a relative or absolute path. When specified as a relative path, the path is based on <code>source/</code>.</p></div><h2 id="download-type-url" tabindex="-1">Download type - url <a class="header-anchor" href="#download-type-url" aria-label="Permalink to “Download type - url”"></a></h2><p>URL type sources refer to downloading files directly from the URL.</p><p>The parameters included are:</p><ul><li><code>url</code>: The download address of the file, such as <code>https://example.com/file.tgz</code></li><li><code>filename</code> (optional): The file name saved to the local area. If not specified, the file name of the url will be used.</li></ul><p>Example (download the imagick extension and extract it to the extension storage path of the php source code):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "ext-imagick"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"https://pecl.php.net/get/imagick"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
@ -20,7 +20,17 @@ import{_ as i,c as a,o as e,ah as t}from"./chunks/framework.Bhsyh9kO.js";const E
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "path"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"LICENSE"</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="download-type-ghrel" tabindex="-1">Download type - ghrel <a class="header-anchor" href="#download-type-ghrel" aria-label="Permalink to “Download type - ghrel”"></a></h2><p>ghrel will download files from Assets uploaded in GitHub Release. First use the GitHub Release API to get the latest version, and then download the corresponding files according to the regular matching method.</p><p>The parameters included are:</p><ul><li><code>repo</code>: GitHub repository name</li><li><code>match</code>: regular expression matching Assets files</li><li><code>prefer-stable</code>: Whether to download stable versions first (default is <code>false</code>)</li></ul><p>Example (download the libsodium library, matching the libsodium-x.y.tar.gz file in Release):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="download-type-pie" tabindex="-1">Download type - pie <a class="header-anchor" href="#download-type-pie" aria-label="Permalink to “Download type - pie”"></a></h2><p>PIE (PHP Installer for Extensions) type sources refer to downloading PHP extensions from Packagist that follow the PIE standard. This method automatically fetches extension information from the Packagist repository and downloads the appropriate distribution file.</p><p>The parameters included are:</p><ul><li><code>repo</code>: The Packagist vendor/package name, such as <code>vendor/package-name</code></li></ul><p>Example (download a PHP extension from Packagist using PIE):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "ext-example"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"pie"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "repo"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"vendor/example-extension"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "path"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"php-src/ext/example"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "license"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"file"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "path"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"LICENSE"</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>The PIE download type will automatically detect the extension information from Packagist metadata, including the download URL, version, and distribution type. The extension must be marked as <code>type: php-ext</code> or contain <code>php-ext</code> metadata in its Packagist package definition.</p></div><h2 id="download-type-ghrel" tabindex="-1">Download type - ghrel <a class="header-anchor" href="#download-type-ghrel" aria-label="Permalink to “Download type - ghrel”"></a></h2><p>ghrel will download files from Assets uploaded in GitHub Release. First use the GitHub Release API to get the latest version, and then download the corresponding files according to the regular matching method.</p><p>The parameters included are:</p><ul><li><code>repo</code>: GitHub repository name</li><li><code>match</code>: regular expression matching Assets files</li><li><code>prefer-stable</code>: Whether to download stable versions first (default is <code>false</code>)</li></ul><p>Example (download the libsodium library, matching the libsodium-x.y.tar.gz file in Release):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "libsodium"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"ghrel"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "repo"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"jedisct1/libsodium"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
@ -117,4 +127,4 @@ import{_ as i,c as a,o as e,ah as t}from"./chunks/framework.Bhsyh9kO.js";const E
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ]</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div>`,75)])])}const c=i(n,[["render",l]]);export{E as __pageData,c as default};
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div>`,82)])])}const c=i(n,[["render",l]]);export{E as __pageData,c as default};
|
||||
@ -1 +1 @@
|
||||
import{_ as i,c as a,o as e,ah as t}from"./chunks/framework.Bhsyh9kO.js";const E=JSON.parse('{"title":"Source module","description":"","frontmatter":{},"headers":[],"relativePath":"en/develop/source-module.md","filePath":"en/develop/source-module.md"}'),n={name:"en/develop/source-module.md"};function l(h,s,p,o,k,d){return e(),a("div",null,[...s[0]||(s[0]=[t("",75)])])}const c=i(n,[["render",l]]);export{E as __pageData,c as default};
|
||||
import{_ as i,c as a,o as e,ah as t}from"./chunks/framework.Bhsyh9kO.js";const E=JSON.parse('{"title":"Source module","description":"","frontmatter":{},"headers":[],"relativePath":"en/develop/source-module.md","filePath":"en/develop/source-module.md"}'),n={name:"en/develop/source-module.md"};function l(h,s,p,o,k,d){return e(),a("div",null,[...s[0]||(s[0]=[t("",82)])])}const c=i(n,[["render",l]]);export{E as __pageData,c as default};
|
||||
@ -1 +1 @@
|
||||
import{C as t}from"./chunks/CliGenerator.DzWv53Ya.js";import{d as a,c as o,o as n,ah as r,J as i}from"./chunks/framework.Bhsyh9kO.js";const p=JSON.parse('{"title":"CLI Build Command Generator","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"en/guide/cli-generator.md","filePath":"en/guide/cli-generator.md"}'),s={name:"en/guide/cli-generator.md"},_=a({...s,setup(l){return(c,e)=>(n(),o("div",null,[e[0]||(e[0]=r('<h1 id="cli-build-command-generator" tabindex="-1">CLI Build Command Generator <a class="header-anchor" href="#cli-build-command-generator" aria-label="Permalink to “CLI Build Command Generator”"></a></h1><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>The extensions selected below may contain extensions that are not supported by the selected operating system, which may cause compilation to fail. Please check <a href="./extensions.html">Supported Extensions</a> first.</p></div>',2)),i(t,{lang:"en"})]))}});export{p as __pageData,_ as default};
|
||||
import{C as t}from"./chunks/CliGenerator.CiBuU_lp.js";import{d as a,c as o,o as n,ah as r,J as i}from"./chunks/framework.Bhsyh9kO.js";const p=JSON.parse('{"title":"CLI Build Command Generator","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"en/guide/cli-generator.md","filePath":"en/guide/cli-generator.md"}'),s={name:"en/guide/cli-generator.md"},_=a({...s,setup(l){return(c,e)=>(n(),o("div",null,[e[0]||(e[0]=r('<h1 id="cli-build-command-generator" tabindex="-1">CLI Build Command Generator <a class="header-anchor" href="#cli-build-command-generator" aria-label="Permalink to “CLI Build Command Generator”"></a></h1><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>The extensions selected below may contain extensions that are not supported by the selected operating system, which may cause compilation to fail. Please check <a href="./extensions.html">Supported Extensions</a> first.</p></div>',2)),i(t,{lang:"en"})]))}});export{p as __pageData,_ as default};
|
||||
@ -1 +1 @@
|
||||
import{C as t}from"./chunks/CliGenerator.DzWv53Ya.js";import{d as a,c as o,o as n,ah as r,J as i}from"./chunks/framework.Bhsyh9kO.js";const p=JSON.parse('{"title":"CLI Build Command Generator","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"en/guide/cli-generator.md","filePath":"en/guide/cli-generator.md"}'),s={name:"en/guide/cli-generator.md"},_=a({...s,setup(l){return(c,e)=>(n(),o("div",null,[e[0]||(e[0]=r("",2)),i(t,{lang:"en"})]))}});export{p as __pageData,_ as default};
|
||||
import{C as t}from"./chunks/CliGenerator.CiBuU_lp.js";import{d as a,c as o,o as n,ah as r,J as i}from"./chunks/framework.Bhsyh9kO.js";const p=JSON.parse('{"title":"CLI Build Command Generator","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"en/guide/cli-generator.md","filePath":"en/guide/cli-generator.md"}'),s={name:"en/guide/cli-generator.md"},_=a({...s,setup(l){return(c,e)=>(n(),o("div",null,[e[0]||(e[0]=r("",2)),i(t,{lang:"en"})]))}});export{p as __pageData,_ as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{_ as o}from"./chunks/SearchTable.CtWumc3C.js";import{c as i,o as s,ah as t,J as a}from"./chunks/framework.Bhsyh9kO.js";const d=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/extensions.md","filePath":"en/guide/extensions.md"}'),n={name:"en/guide/extensions.md"},u=Object.assign(n,{setup(l){return(r,e)=>(s(),i("div",null,[e[0]||(e[0]=t('<h1 id="extensions" tabindex="-1">Extensions <a class="header-anchor" href="#extensions" aria-label="Permalink to “Extensions”"></a></h1><blockquote><ul><li><code>yes</code>: supported</li><li><em>blank</em>: not supported yet, or WIP</li><li><code>no</code> with issue link: confirmed to be unavailable due to issue</li><li><code>partial</code> with issue link: supported but not perfect due to issue</li></ul></blockquote>',2)),a(o),e[1]||(e[1]=t('<div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>If an extension you need is missing, you can create a <a href="https://github.com/crazywhalecc/static-php-cli/issues" target="_blank" rel="noreferrer">Feature Request</a>.</p><p>Some extensions or libraries that the extension depends on will have some optional features. For example, the gd library optionally supports libwebp, freetype, etc. If you only use <code>bin/spc build gd --build-cli</code> they will not be included (static-php-cli defaults to the minimum dependency principle).</p><p>For more information about optional libraries, see <a href="./deps-map.html">Extensions, Library Dependency Map</a>. For optional libraries, you can also select an extension from the <a href="./cli-generator.html">Command Generator</a> and then select optional libraries.</p></div>',1))]))}});export{d as __pageData,u as default};
|
||||
import{_ as o}from"./chunks/SearchTable.DC7Tsu3d.js";import{c as i,o as s,ah as t,J as a}from"./chunks/framework.Bhsyh9kO.js";const d=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/extensions.md","filePath":"en/guide/extensions.md"}'),n={name:"en/guide/extensions.md"},u=Object.assign(n,{setup(l){return(r,e)=>(s(),i("div",null,[e[0]||(e[0]=t('<h1 id="extensions" tabindex="-1">Extensions <a class="header-anchor" href="#extensions" aria-label="Permalink to “Extensions”"></a></h1><blockquote><ul><li><code>yes</code>: supported</li><li><em>blank</em>: not supported yet, or WIP</li><li><code>no</code> with issue link: confirmed to be unavailable due to issue</li><li><code>partial</code> with issue link: supported but not perfect due to issue</li></ul></blockquote>',2)),a(o),e[1]||(e[1]=t('<div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>If an extension you need is missing, you can create a <a href="https://github.com/crazywhalecc/static-php-cli/issues" target="_blank" rel="noreferrer">Feature Request</a>.</p><p>Some extensions or libraries that the extension depends on will have some optional features. For example, the gd library optionally supports libwebp, freetype, etc. If you only use <code>bin/spc build gd --build-cli</code> they will not be included (static-php-cli defaults to the minimum dependency principle).</p><p>For more information about optional libraries, see <a href="./deps-map.html">Extensions, Library Dependency Map</a>. For optional libraries, you can also select an extension from the <a href="./cli-generator.html">Command Generator</a> and then select optional libraries.</p></div>',1))]))}});export{d as __pageData,u as default};
|
||||
@ -1 +1 @@
|
||||
import{_ as o}from"./chunks/SearchTable.CtWumc3C.js";import{c as i,o as s,ah as t,J as a}from"./chunks/framework.Bhsyh9kO.js";const d=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/extensions.md","filePath":"en/guide/extensions.md"}'),n={name:"en/guide/extensions.md"},u=Object.assign(n,{setup(l){return(r,e)=>(s(),i("div",null,[e[0]||(e[0]=t("",2)),a(o),e[1]||(e[1]=t("",1))]))}});export{d as __pageData,u as default};
|
||||
import{_ as o}from"./chunks/SearchTable.DC7Tsu3d.js";import{c as i,o as s,ah as t,J as a}from"./chunks/framework.Bhsyh9kO.js";const d=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/extensions.md","filePath":"en/guide/extensions.md"}'),n={name:"en/guide/extensions.md"},u=Object.assign(n,{setup(l){return(r,e)=>(s(),i("div",null,[e[0]||(e[0]=t("",2)),a(o),e[1]||(e[1]=t("",1))]))}});export{d as __pageData,u as default};
|
||||
File diff suppressed because one or more lines are too long
@ -9,7 +9,7 @@ import{_ as i,c as a,o as t,ah as n}from"./chunks/framework.Bhsyh9kO.js";const r
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "path"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"LICENSE"</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>这里最主要的字段是 <code>type</code>,目前它支持的类型有:</p><ul><li><code>url</code>: 直接使用 URL 下载,例如:<code>https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz</code>。</li><li><code>ghrel</code>: 使用 GitHub Release API 下载,即从 GitHub 项目发布的最新版本中上传的附件下载。</li><li><code>ghtar</code>: 使用 GitHub Release API 下载,与 <code>ghrel</code> 不同的是,<code>ghtar</code> 是从项目的最新 Release 中找 <code>source code (tar.gz)</code> 下载的。</li><li><code>ghtagtar</code>: 使用 GitHub Release API 下载,与 <code>ghtar</code> 相比,<code>ghtagtar</code> 可以从 <code>tags</code> 列表找最新的,并下载 <code>tar.gz</code> 格式的源码(因为有些项目只使用了 <code>tag</code> 发布版本)。</li><li><code>bitbuckettag</code>: 使用 BitBucket API 下载,基本和 <code>ghtagtar</code> 相同,只是这个适用于 BitBucket。</li><li><code>git</code>: 直接从一个 Git 地址克隆项目来下载资源,适用于任何公开 Git 仓库。</li><li><code>filelist</code>: 使用爬虫爬取提供文件索引的 Web 下载站点,并获取最新版本的文件名并下载。</li><li><code>custom</code>: 如果以上下载方式都不能满足,你可以编写 <code>custom</code> 后,在 <code>src/SPC/store/source/</code> 下新建一个类,并继承 <code>CustomSourceBase</code>,自己编写下载脚本。</li></ul><h2 id="source-json-通用参数" tabindex="-1">source.json 通用参数 <a class="header-anchor" href="#source-json-通用参数" aria-label="Permalink to “source.json 通用参数”"></a></h2><p>source.json 中每个源文件拥有以下字段:</p><ul><li><code>license</code>: 源代码的开源许可证,见下方 <strong>开源许可证</strong> 章节</li><li><code>type</code>: 必须为上面提到的类型之一</li><li><code>path</code>(可选): 释放源码到指定目录而非 <code>source/{name}</code></li><li><code>provide-pre-built</code>(可选): 是否提供预编译的二进制文件,如果为 <code>true</code>,则会在 <code>bin/spc download</code> 时尝试自动下载预编译的二进制文件</li></ul><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p><code>source.json</code> 中的 <code>path</code> 参数可指定相对路径或绝对路径。当指定为相对路径时,路径基于 <code>source/</code>。</p></div><h2 id="下载类型-url" tabindex="-1">下载类型 - url <a class="header-anchor" href="#下载类型-url" aria-label="Permalink to “下载类型 - url”"></a></h2><p>url 类型的资源指的是从 URL 直接下载文件。</p><p>包含的参数有:</p><ul><li><code>url</code>: 文件的下载地址,如 <code>https://example.com/file.tgz</code></li><li><code>filename</code>(可选): 保存到本地的文件名,如不指定,则使用 url 的文件名</li></ul><p>例子(下载 imagick 扩展,并解压缩到 php 源码的扩展存放路径):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>这里最主要的字段是 <code>type</code>,目前它支持的类型有:</p><ul><li><code>url</code>: 直接使用 URL 下载,例如:<code>https://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz</code>。</li><li><code>pie</code>: 使用 PIE(PHP Installer for Extensions)标准从 Packagist 下载 PHP 扩展。</li><li><code>ghrel</code>: 使用 GitHub Release API 下载,即从 GitHub 项目发布的最新版本中上传的附件下载。</li><li><code>ghtar</code>: 使用 GitHub Release API 下载,与 <code>ghrel</code> 不同的是,<code>ghtar</code> 是从项目的最新 Release 中找 <code>source code (tar.gz)</code> 下载的。</li><li><code>ghtagtar</code>: 使用 GitHub Release API 下载,与 <code>ghtar</code> 相比,<code>ghtagtar</code> 可以从 <code>tags</code> 列表找最新的,并下载 <code>tar.gz</code> 格式的源码(因为有些项目只使用了 <code>tag</code> 发布版本)。</li><li><code>bitbuckettag</code>: 使用 BitBucket API 下载,基本和 <code>ghtagtar</code> 相同,只是这个适用于 BitBucket。</li><li><code>git</code>: 直接从一个 Git 地址克隆项目来下载资源,适用于任何公开 Git 仓库。</li><li><code>filelist</code>: 使用爬虫爬取提供文件索引的 Web 下载站点,并获取最新版本的文件名并下载。</li><li><code>custom</code>: 如果以上下载方式都不能满足,你可以编写 <code>custom</code> 后,在 <code>src/SPC/store/source/</code> 下新建一个类,并继承 <code>CustomSourceBase</code>,自己编写下载脚本。</li></ul><h2 id="source-json-通用参数" tabindex="-1">source.json 通用参数 <a class="header-anchor" href="#source-json-通用参数" aria-label="Permalink to “source.json 通用参数”"></a></h2><p>source.json 中每个源文件拥有以下字段:</p><ul><li><code>license</code>: 源代码的开源许可证,见下方 <strong>开源许可证</strong> 章节</li><li><code>type</code>: 必须为上面提到的类型之一</li><li><code>path</code>(可选): 释放源码到指定目录而非 <code>source/{name}</code></li><li><code>provide-pre-built</code>(可选): 是否提供预编译的二进制文件,如果为 <code>true</code>,则会在 <code>bin/spc download</code> 时尝试自动下载预编译的二进制文件</li></ul><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p><code>source.json</code> 中的 <code>path</code> 参数可指定相对路径或绝对路径。当指定为相对路径时,路径基于 <code>source/</code>。</p></div><h2 id="下载类型-url" tabindex="-1">下载类型 - url <a class="header-anchor" href="#下载类型-url" aria-label="Permalink to “下载类型 - url”"></a></h2><p>url 类型的资源指的是从 URL 直接下载文件。</p><p>包含的参数有:</p><ul><li><code>url</code>: 文件的下载地址,如 <code>https://example.com/file.tgz</code></li><li><code>filename</code>(可选): 保存到本地的文件名,如不指定,则使用 url 的文件名</li></ul><p>例子(下载 imagick 扩展,并解压缩到 php 源码的扩展存放路径):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "ext-imagick"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "url"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"https://pecl.php.net/get/imagick"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
@ -20,7 +20,17 @@ import{_ as i,c as a,o as t,ah as n}from"./chunks/framework.Bhsyh9kO.js";const r
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "path"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"LICENSE"</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="下载类型-ghrel" tabindex="-1">下载类型 - ghrel <a class="header-anchor" href="#下载类型-ghrel" aria-label="Permalink to “下载类型 - ghrel”"></a></h2><p>ghrel 会从 GitHub Release 中上传的 Assets 下载文件。首先使用 GitHub Release API 获取最新版本,然后根据正则匹配方式下载相应的文件。</p><p>包含的参数有:</p><ul><li><code>repo</code>: GitHub 仓库名称</li><li><code>match</code>: 匹配 Assets 文件的正则表达式</li><li><code>prefer-stable</code>: 是否优先下载稳定版本(默认为 <code>false</code>)</li></ul><p>例子(下载 libsodium 库,匹配 Release 中的 libsodium-x.y.tar.gz 文件):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="下载类型-pie" tabindex="-1">下载类型 - pie <a class="header-anchor" href="#下载类型-pie" aria-label="Permalink to “下载类型 - pie”"></a></h2><p>PIE(PHP Installer for Extensions)类型的资源是从 Packagist 下载遵循 PIE 标准的 PHP 扩展。 该方法会自动从 Packagist 仓库获取扩展信息,并下载相应的分发文件。</p><p>包含的参数有:</p><ul><li><code>repo</code>: Packagist 的 vendor/package 名称,如 <code>vendor/package-name</code></li></ul><p>例子(使用 PIE 从 Packagist 下载 PHP 扩展):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "ext-example"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"pie"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "repo"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"vendor/example-extension"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "path"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"php-src/ext/example"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "license"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"file"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "path"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"LICENSE"</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>PIE 下载类型会自动从 Packagist 元数据中检测扩展信息,包括下载 URL、版本和分发类型。 扩展必须在其 Packagist 包定义中标记为 <code>type: php-ext</code> 或包含 <code>php-ext</code> 元数据。</p></div><h2 id="下载类型-ghrel" tabindex="-1">下载类型 - ghrel <a class="header-anchor" href="#下载类型-ghrel" aria-label="Permalink to “下载类型 - ghrel”"></a></h2><p>ghrel 会从 GitHub Release 中上传的 Assets 下载文件。首先使用 GitHub Release API 获取最新版本,然后根据正则匹配方式下载相应的文件。</p><p>包含的参数有:</p><ul><li><code>repo</code>: GitHub 仓库名称</li><li><code>match</code>: 匹配 Assets 文件的正则表达式</li><li><code>prefer-stable</code>: 是否优先下载稳定版本(默认为 <code>false</code>)</li></ul><p>例子(下载 libsodium 库,匹配 Release 中的 libsodium-x.y.tar.gz 文件):</p><div class="language-json"><button title="Copy Code" class="copy"></button><span class="lang">json</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:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "libsodium"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "type"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"ghrel"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> "repo"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"jedisct1/libsodium"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
|
||||
@ -117,4 +127,4 @@ import{_ as i,c as a,o as t,ah as n}from"./chunks/framework.Bhsyh9kO.js";const r
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ]</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div>`,75)])])}const c=i(l,[["render",h]]);export{r as __pageData,c as default};
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div>`,82)])])}const c=i(l,[["render",h]]);export{r as __pageData,c as default};
|
||||
@ -1 +1 @@
|
||||
import{_ as i,c as a,o as t,ah as n}from"./chunks/framework.Bhsyh9kO.js";const r=JSON.parse('{"title":"资源模块","description":"","frontmatter":{},"headers":[],"relativePath":"zh/develop/source-module.md","filePath":"zh/develop/source-module.md"}'),l={name:"zh/develop/source-module.md"};function h(e,s,p,k,E,o){return t(),a("div",null,[...s[0]||(s[0]=[n("",75)])])}const c=i(l,[["render",h]]);export{r as __pageData,c as default};
|
||||
import{_ as i,c as a,o as t,ah as n}from"./chunks/framework.Bhsyh9kO.js";const r=JSON.parse('{"title":"资源模块","description":"","frontmatter":{},"headers":[],"relativePath":"zh/develop/source-module.md","filePath":"zh/develop/source-module.md"}'),l={name:"zh/develop/source-module.md"};function h(e,s,p,k,E,o){return t(),a("div",null,[...s[0]||(s[0]=[n("",82)])])}const c=i(l,[["render",h]]);export{r as __pageData,c as default};
|
||||
@ -1 +1 @@
|
||||
import{C as a}from"./chunks/CliGenerator.DzWv53Ya.js";import{d as t,c as r,o,ah as i,J as l}from"./chunks/framework.Bhsyh9kO.js";const m=JSON.parse('{"title":"CLI 编译命令生成器","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"zh/guide/cli-generator.md","filePath":"zh/guide/cli-generator.md"}'),s={name:"zh/guide/cli-generator.md"},p=t({...s,setup(c){return(n,e)=>(o(),r("div",null,[e[0]||(e[0]=i('<h1 id="cli-编译命令生成器" tabindex="-1">CLI 编译命令生成器 <a class="header-anchor" href="#cli-编译命令生成器" aria-label="Permalink to “CLI 编译命令生成器”"></a></h1><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>下面选择扩展可能包含所选操作系统不支持的扩展,这可能导致编译失败。请先查阅 <a href="./extensions.html">支持的扩展</a>。</p></div>',2)),l(a,{lang:"zh"})]))}});export{m as __pageData,p as default};
|
||||
import{C as a}from"./chunks/CliGenerator.CiBuU_lp.js";import{d as t,c as r,o,ah as i,J as l}from"./chunks/framework.Bhsyh9kO.js";const m=JSON.parse('{"title":"CLI 编译命令生成器","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"zh/guide/cli-generator.md","filePath":"zh/guide/cli-generator.md"}'),s={name:"zh/guide/cli-generator.md"},p=t({...s,setup(c){return(n,e)=>(o(),r("div",null,[e[0]||(e[0]=i('<h1 id="cli-编译命令生成器" tabindex="-1">CLI 编译命令生成器 <a class="header-anchor" href="#cli-编译命令生成器" aria-label="Permalink to “CLI 编译命令生成器”"></a></h1><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>下面选择扩展可能包含所选操作系统不支持的扩展,这可能导致编译失败。请先查阅 <a href="./extensions.html">支持的扩展</a>。</p></div>',2)),l(a,{lang:"zh"})]))}});export{m as __pageData,p as default};
|
||||
@ -1 +1 @@
|
||||
import{C as a}from"./chunks/CliGenerator.DzWv53Ya.js";import{d as t,c as r,o,ah as i,J as l}from"./chunks/framework.Bhsyh9kO.js";const m=JSON.parse('{"title":"CLI 编译命令生成器","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"zh/guide/cli-generator.md","filePath":"zh/guide/cli-generator.md"}'),s={name:"zh/guide/cli-generator.md"},p=t({...s,setup(c){return(n,e)=>(o(),r("div",null,[e[0]||(e[0]=i("",2)),l(a,{lang:"zh"})]))}});export{m as __pageData,p as default};
|
||||
import{C as a}from"./chunks/CliGenerator.CiBuU_lp.js";import{d as t,c as r,o,ah as i,J as l}from"./chunks/framework.Bhsyh9kO.js";const m=JSON.parse('{"title":"CLI 编译命令生成器","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"zh/guide/cli-generator.md","filePath":"zh/guide/cli-generator.md"}'),s={name:"zh/guide/cli-generator.md"},p=t({...s,setup(c){return(n,e)=>(o(),r("div",null,[e[0]||(e[0]=i("",2)),l(a,{lang:"zh"})]))}});export{m as __pageData,p as default};
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
import{_ as i}from"./chunks/SearchTable.CtWumc3C.js";import{c as a,o as l,ah as t,J as s}from"./chunks/framework.Bhsyh9kO.js";const n=JSON.parse('{"title":"扩展列表","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/extensions.md","filePath":"zh/guide/extensions.md"}'),o={name:"zh/guide/extensions.md"},p=Object.assign(o,{setup(c){return(r,e)=>(l(),a("div",null,[e[0]||(e[0]=t('<h1 id="扩展列表" tabindex="-1">扩展列表 <a class="header-anchor" href="#扩展列表" aria-label="Permalink to “扩展列表”"></a></h1><blockquote><ul><li><code>yes</code>: 已支持</li><li>空白: 目前还不支持,或正在支持中</li><li><code>no</code> with issue link: 确定不支持或无法支持</li><li><code>partial</code> with issue link: 已支持,但是无法完美工作</li></ul></blockquote>',2)),s(i),e[1]||(e[1]=t('<div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>如果缺少您需要的扩展,您可以创建 <a href="https://github.com/crazywhalecc/static-php-cli/issues" target="_blank" rel="noreferrer">功能请求</a>。</p><p>有些扩展或扩展依赖的库会有一些可选的特性,例如 gd 库可选支持 libwebp、freetype 等。 如果你只使用 <code>bin/spc build gd --build-cli</code> 是不会包含它们(static-php-cli 默认为最小依赖原则)。</p><p>有关编译可选库,请参考 <a href="./deps-map.html">扩展、库的依赖关系图表</a>。对于可选的库,你也可以从 <a href="./cli-generator.html">编译命令生成器</a> 中选择扩展后展开选择可选库。</p></div>',1))]))}});export{n as __pageData,p as default};
|
||||
import{_ as i}from"./chunks/SearchTable.DC7Tsu3d.js";import{c as a,o as l,ah as t,J as s}from"./chunks/framework.Bhsyh9kO.js";const n=JSON.parse('{"title":"扩展列表","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/extensions.md","filePath":"zh/guide/extensions.md"}'),o={name:"zh/guide/extensions.md"},p=Object.assign(o,{setup(c){return(r,e)=>(l(),a("div",null,[e[0]||(e[0]=t('<h1 id="扩展列表" tabindex="-1">扩展列表 <a class="header-anchor" href="#扩展列表" aria-label="Permalink to “扩展列表”"></a></h1><blockquote><ul><li><code>yes</code>: 已支持</li><li>空白: 目前还不支持,或正在支持中</li><li><code>no</code> with issue link: 确定不支持或无法支持</li><li><code>partial</code> with issue link: 已支持,但是无法完美工作</li></ul></blockquote>',2)),s(i),e[1]||(e[1]=t('<div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>如果缺少您需要的扩展,您可以创建 <a href="https://github.com/crazywhalecc/static-php-cli/issues" target="_blank" rel="noreferrer">功能请求</a>。</p><p>有些扩展或扩展依赖的库会有一些可选的特性,例如 gd 库可选支持 libwebp、freetype 等。 如果你只使用 <code>bin/spc build gd --build-cli</code> 是不会包含它们(static-php-cli 默认为最小依赖原则)。</p><p>有关编译可选库,请参考 <a href="./deps-map.html">扩展、库的依赖关系图表</a>。对于可选的库,你也可以从 <a href="./cli-generator.html">编译命令生成器</a> 中选择扩展后展开选择可选库。</p></div>',1))]))}});export{n as __pageData,p as default};
|
||||
@ -1 +1 @@
|
||||
import{_ as i}from"./chunks/SearchTable.CtWumc3C.js";import{c as a,o as l,ah as t,J as s}from"./chunks/framework.Bhsyh9kO.js";const n=JSON.parse('{"title":"扩展列表","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/extensions.md","filePath":"zh/guide/extensions.md"}'),o={name:"zh/guide/extensions.md"},p=Object.assign(o,{setup(c){return(r,e)=>(l(),a("div",null,[e[0]||(e[0]=t("",2)),s(i),e[1]||(e[1]=t("",1))]))}});export{n as __pageData,p as default};
|
||||
import{_ as i}from"./chunks/SearchTable.DC7Tsu3d.js";import{c as a,o as l,ah as t,J as s}from"./chunks/framework.Bhsyh9kO.js";const n=JSON.parse('{"title":"扩展列表","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/extensions.md","filePath":"zh/guide/extensions.md"}'),o={name:"zh/guide/extensions.md"},p=Object.assign(o,{setup(c){return(r,e)=>(l(),a("div",null,[e[0]||(e[0]=t("",2)),s(i),e[1]||(e[1]=t("",1))]))}});export{n as __pageData,p as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"deps-craft-yml.md":"DqNYV3B0","deps-map-ext.md":"Ca6YpX1f","deps-map-lib.md":"CTX6f-lZ","en_contributing_index.md":"fCA6lXnW","en_develop_craft-yml.md":"Ci97ssL7","en_develop_doctor-module.md":"BTDyp-aK","en_develop_index.md":"DUNrUVP9","en_develop_php-src-changes.md":"dN8aSiwg","en_develop_source-module.md":"hhJuiZD0","en_develop_structure.md":"X2JId3N9","en_develop_system-build-tools.md":"BmQhyTle","en_faq_index.md":"B89Sredc","en_guide_action-build.md":"Dnzq6gNC","en_guide_build-on-windows.md":"DiYVSaPG","en_guide_build-with-glibc.md":"CkVR75n5","en_guide_cli-generator.md":"BDiQF4zU","en_guide_deps-map.md":"DVbj4tBK","en_guide_env-vars.md":"51DQ7bvx","en_guide_extension-notes.md":"CHFGRiKx","en_guide_extensions.md":"C2b8b6du","en_guide_index.md":"C0gwKWb1","en_guide_manual-build.md":"DPsGII1D","en_guide_troubleshooting.md":"D19jRB1K","en_index.md":"WiGlW8EH","extension-notes.md":"BB7Xlw1w","extensions.md":"hO1GVZPt","index.md":"AJG02Jxt","zh_contributing_index.md":"fiiKMXnj","zh_develop_craft-yml.md":"CAUu6v38","zh_develop_doctor-module.md":"1NRXIINs","zh_develop_index.md":"CRxnJZDt","zh_develop_php-src-changes.md":"CwVUc0oE","zh_develop_source-module.md":"3iGbQTPs","zh_develop_structure.md":"CEd1RycZ","zh_develop_system-build-tools.md":"CQ4BvPVa","zh_faq_index.md":"BihV7puH","zh_guide_action-build.md":"CQ3Vf3i9","zh_guide_build-on-windows.md":"oogWrPn_","zh_guide_build-with-glibc.md":"CHXyK61r","zh_guide_cli-generator.md":"BTJ9-Rik","zh_guide_deps-map.md":"BdXesr_r","zh_guide_env-vars.md":"CtNlqGk4","zh_guide_extension-notes.md":"BCwDjBZH","zh_guide_extensions.md":"HschgqwT","zh_guide_index.md":"BBGjnhq-","zh_guide_manual-build.md":"C3iksvHw","zh_guide_troubleshooting.md":"BRQLW2WP","zh_index.md":"Dv99zA_s"}
|
||||
{"deps-craft-yml.md":"DqNYV3B0","deps-map-ext.md":"Og0ARiqk","deps-map-lib.md":"CTX6f-lZ","en_contributing_index.md":"fCA6lXnW","en_develop_craft-yml.md":"Ci97ssL7","en_develop_doctor-module.md":"BTDyp-aK","en_develop_index.md":"DUNrUVP9","en_develop_php-src-changes.md":"dN8aSiwg","en_develop_source-module.md":"CTCLlqsP","en_develop_structure.md":"X2JId3N9","en_develop_system-build-tools.md":"BmQhyTle","en_faq_index.md":"B89Sredc","en_guide_action-build.md":"Dnzq6gNC","en_guide_build-on-windows.md":"DiYVSaPG","en_guide_build-with-glibc.md":"CkVR75n5","en_guide_cli-generator.md":"B6V9E14d","en_guide_deps-map.md":"eQpNvDJQ","en_guide_env-vars.md":"51DQ7bvx","en_guide_extension-notes.md":"CHFGRiKx","en_guide_extensions.md":"D0rIOBRU","en_guide_index.md":"C0gwKWb1","en_guide_manual-build.md":"DPsGII1D","en_guide_troubleshooting.md":"D19jRB1K","en_index.md":"WiGlW8EH","extension-notes.md":"BB7Xlw1w","extensions.md":"C4jkdWSv","index.md":"AJG02Jxt","zh_contributing_index.md":"fiiKMXnj","zh_develop_craft-yml.md":"CAUu6v38","zh_develop_doctor-module.md":"1NRXIINs","zh_develop_index.md":"CRxnJZDt","zh_develop_php-src-changes.md":"CwVUc0oE","zh_develop_source-module.md":"CS1VBo_1","zh_develop_structure.md":"CEd1RycZ","zh_develop_system-build-tools.md":"CQ4BvPVa","zh_faq_index.md":"BihV7puH","zh_guide_action-build.md":"CQ3Vf3i9","zh_guide_build-on-windows.md":"oogWrPn_","zh_guide_build-with-glibc.md":"CHXyK61r","zh_guide_cli-generator.md":"DhNSRgoY","zh_guide_deps-map.md":"Bwdfhis1","zh_guide_env-vars.md":"CtNlqGk4","zh_guide_extension-notes.md":"BCwDjBZH","zh_guide_extensions.md":"C_jEcweg","zh_guide_index.md":"BBGjnhq-","zh_guide_manual-build.md":"C3iksvHw","zh_guide_troubleshooting.md":"BRQLW2WP","zh_index.md":"Dv99zA_s"}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user