mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-20 23:35:37 +08:00
12 lines
6.3 KiB
JavaScript
12 lines
6.3 KiB
JavaScript
import{G as e,K as t,at as n,j as r}from"./chunks/framework.DrNIf5Lg.js";var i=JSON.parse(`{"title":"环境变量","description":"","frontmatter":{},"headers":[],"relativePath":"zh/guide/env-vars.md","filePath":"zh/guide/env-vars.md"}`),a={name:`zh/guide/env-vars.md`};function o(r,i,a,o,s,c){return n(),e(`div`,null,[...i[0]||=[t(`<h1 id="环境变量" tabindex="-1">环境变量 <a class="header-anchor" href="#环境变量" aria-label="Permalink to “环境变量”"></a></h1><p>本页面的环境变量列表中所提到的所有环境变量都具有默认值,除非另有说明。你可以通过设置这些环境变量来覆盖默认值。</p><h2 id="环境变量列表" tabindex="-1">环境变量列表 <a class="header-anchor" href="#环境变量列表" aria-label="Permalink to “环境变量列表”"></a></h2><p>StaticPHP 将环境变量集中到了 <code>config/env.ini</code> 文件中,你可以通过修改这个文件来设置环境变量。</p><p>我们将 StaticPHP 支持的环境变量分为三种:</p><ul><li><strong>全局内部环境变量</strong>:在 StaticPHP 启动后即声明,你可以在 StaticPHP 的内部使用 <code>getenv()</code> 来获取他们,也可以在启动 StaticPHP 前覆盖。</li><li><strong>固定环境变量</strong>:在 StaticPHP 启动后声明,你仅可使用 <code>getenv()</code> 获取,但无法通过 shell 脚本对其覆盖。</li><li><strong>配置文件环境变量</strong>:在 StaticPHP 构建前声明,你可以通过修改 <code>config/env.ini</code> 文件或通过 shell 脚本来设置这些环境变量。</li></ul><p>你可以阅读 <a href="https://github.com/crazywhalecc/static-php-cli/blob/v3/config/env.ini" target="_blank" rel="noreferrer">config/env.ini</a> 中每项参数的注释来了解其作用(仅限英文版)。</p><h2 id="自定义环境变量" tabindex="-1">自定义环境变量 <a class="header-anchor" href="#自定义环境变量" aria-label="Permalink to “自定义环境变量”"></a></h2><p>一般情况下,你不需要修改任何以下环境变量,因为它们已经被设置为最佳值。 但是,如果你有特殊需求,你可以通过设置这些环境变量来满足你的需求(比如你需要调试不同编译参数下的 PHP 性能表现)。</p><p>如需使用自定义环境变量,你可以在终端中使用 <code>export</code> 命令或者在命令前直接设置环境变量,例如:</p><div class="language-shell"><button title="Copy Code" class="copy"></button><span class="lang">shell</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:#62687b;--shiki-dark:#818e99;"># export 方式</span></span>
|
||
<span class="line"><span style="--shiki-light:#c62739;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> SPC_CONCURRENCY</span><span style="--shiki-light:#c62739;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">4</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;"> "mbstring,pcntl"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#62687b;--shiki-dark:#818e99;"># 直接设置方式</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">SPC_CONCURRENCY</span><span style="--shiki-light:#c62739;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">4</span><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;"> "mbstring,pcntl"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span></span></code></pre></div><p>或者,如果你需要长期修改某个环境变量,你可以通过修改 <code>config/env.ini</code> 文件来实现。</p><p><code>config/env.ini</code> 分为三段,其中 <code>[global]</code> 全局有效,<code>[windows]</code>、<code>[macos]</code>、<code>[linux]</code> 仅对应的操作系统有效。</p><p>例如,你需要修改编译 PHP 的 <code>./configure</code> 命令,你可以在 <code>config/env.ini</code> 文件中找到 <code>SPC_CMD_PREFIX_PHP_CONFIGURE</code> 环境变量,然后修改其值即可。</p><p>但如果你的构建条件比较复杂,需要多种 env.ini 进行切换,我们推荐你使用 <code>config/env.custom.ini</code> 文件,这样你可以在不修改默认的 <code>config/env.ini</code> 文件的情况下, 通过写入额外的重载项目指定你的环境变量。</p><div class="language-ini"><button title="Copy Code" class="copy"></button><span class="lang">ini</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:#62687b;--shiki-dark:#818e99;">; This is an example of \`config/env.custom.ini\` file,</span></span>
|
||
<span class="line"><span style="--shiki-light:#62687b;--shiki-dark:#818e99;">; we modify the \`SPC_CONCURRENCY\` and linux default CFLAGS passing to libs and PHP</span></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">[global]</span></span>
|
||
<span class="line"><span style="--shiki-light:#c62739;--shiki-dark:#F97583;">SPC_CONCURRENCY</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=4</span></span>
|
||
<span class="line"></span>
|
||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">[linux]</span></span>
|
||
<span class="line"><span style="--shiki-light:#c62739;--shiki-dark:#F97583;">SPC_DEFAULT_CFLAGS</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"-O3"</span></span></code></pre></div>`,16)]])}var s=r(a,[[`render`,o]]);export{i as __pageData,s as default}; |