mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 21:04:52 +08:00
29 lines
34 KiB
HTML
29 lines
34 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>Environment variables | static-php-cli</title>
|
||
<meta name="description" content="Build single static PHP binary, with PHP project together, with popular extensions included.">
|
||
<meta name="generator" content="VitePress v1.2.3">
|
||
<link rel="preload stylesheet" href="/assets/style.B7QwpTn2.css" as="style">
|
||
|
||
<script type="module" src="/assets/app.DAnd8ZqT.js"></script>
|
||
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.CszIUXhs.js">
|
||
<link rel="modulepreload" href="/assets/chunks/theme.Yd2LEGgK.js">
|
||
<link rel="modulepreload" href="/assets/en_guide_env-vars.md.XRLVeMgw.lean.js">
|
||
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/en/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>static-php-cli</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en/guide/" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en/develop/" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Advanced</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en/contributing/" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Contributing</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/en/faq/" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>FAQ</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-ccf7ddec data-v-88af2de4 data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-b6c34ac9><span class="text" data-v-b6c34ac9><span class="vpi-languages option-icon" data-v-b6c34ac9></span><!----><span class="vpi-chevron-down text-icon" data-v-b6c34ac9></span></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><div class="items" data-v-88af2de4><p class="title" data-v-88af2de4>English</p><!--[--><div class="VPMenuLink" data-v-88af2de4 data-v-43f1e123><a class="VPLink link" href="/zh/guide/env-vars.html" data-v-43f1e123><!--[-->简体中文<!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/crazywhalecc/static-php-cli" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-ccf7ddec data-v-d0bd9dde data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><div class="group translations" data-v-d0bd9dde><p class="trans-title" data-v-d0bd9dde>English</p><!--[--><div class="VPMenuLink" data-v-d0bd9dde data-v-43f1e123><a class="VPLink link" href="/zh/guide/env-vars.html" data-v-43f1e123><!--[-->简体中文<!--]--></a></div><!--]--></div><div class="group" data-v-d0bd9dde><div class="item appearance" data-v-d0bd9dde><p class="label" data-v-d0bd9dde>Appearance</p><div class="appearance-action" data-v-d0bd9dde><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-d0bd9dde data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div></div></div><div class="group" data-v-d0bd9dde><div class="item social-links" data-v-d0bd9dde><div class="VPSocialLinks social-links-list" data-v-d0bd9dde data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/crazywhalecc/static-php-cli" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-ccf7ddec data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-ccf7ddec><div class="divider-line" data-v-ccf7ddec></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-17a5e62e><button data-v-17a5e62e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-575e6a36><div class="curtain" data-v-575e6a36></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-575e6a36><span class="visually-hidden" id="sidebar-aria-label" data-v-575e6a36> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0 has-active" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>Guide</h2><!----></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/en/guide/" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Guide</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/en/guide/action-build.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Actions Build</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/en/guide/manual-build.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Manual Build</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/en/guide/extensions.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Extension List</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/en/guide/extension-notes.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Extension Notes</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/en/guide/cli-generator.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Command Generator</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 collapsible collapsed is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/en/guide/env-vars.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Environment Variables</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0" data-v-575e6a36 data-v-b8d55f3b><!----><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/en/guide/troubleshooting.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Troubleshooting</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/en/guide/build-on-windows.html" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Build on Windows</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><!----><div class="content" data-v-39a288b8><div class="content-container" data-v-39a288b8><!--[--><!--]--><main class="main" data-v-39a288b8><div style="position:relative;" class="vp-doc _en_guide_env-vars" data-v-39a288b8><div><h1 id="environment-variables" tabindex="-1">Environment variables <a class="header-anchor" href="#environment-variables" aria-label="Permalink to "Environment variables""></a></h1><p>All environment variables mentioned in the list on this page have default values unless otherwise noted. You can override the default values by setting these environment variables.</p><p>Generally, you don't need to modify any of the following environment variables as they are already set to optimal values. However, if you have special needs, you can set these environment variables to meet your needs (for example, you need to debug PHP performance under different compilation parameters).</p><p>If you want to use custom environment variables, you can use the <code>export</code> command in the terminal or set the environment variables directly before the command, for example:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># export first</span></span>
|
||
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">export</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> SPC_CONCURRENCY</span><span style="--shiki-light:#D73A49;--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;">bin/spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build</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:#6A737D;--shiki-dark:#6A737D;"># or direct use</span></span>
|
||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">SPC_CONCURRENCY</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">4</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> bin/spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build</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><h2 id="general-environment-variables" tabindex="-1">General environment variables <a class="header-anchor" href="#general-environment-variables" aria-label="Permalink to "General environment variables""></a></h2><p>General environment variables can be used by all build targets.</p><table tabindex="0"><thead><tr><th>var name</th><th>default value</th><th>comment</th></tr></thead><tbody><tr><td><code>BUILD_ROOT_PATH</code></td><td><code>{pwd}/buildroot</code></td><td>The root directory of the build target</td></tr><tr><td><code>BUILD_LIB_PATH</code></td><td><code>{pwd}/buildroot/lib</code></td><td>The root directory of compilation libraries</td></tr><tr><td><code>BUILD_INCLUDE_PATH</code></td><td><code>{pwd}/buildroot/include</code></td><td>Header file directory for compiling libraries</td></tr><tr><td><code>BUILD_BIN_PATH</code></td><td><code>{pwd}/buildroot/bin</code></td><td>Compiled binary file directory</td></tr><tr><td><code>PKG_ROOT_PATH</code></td><td><code>{pwd}/pkgroot</code></td><td>Directory where precompiled tools are installed</td></tr><tr><td><code>SOURCE_PATH</code></td><td><code>{pwd}/source</code></td><td>The source code extract directory</td></tr><tr><td><code>DOWNLOAD_PATH</code></td><td><code>{pwd}/downloads</code></td><td>Downloaded file directory</td></tr><tr><td><code>SPC_CONCURRENCY</code></td><td>Depends on CPU cores</td><td>Number of parallel compilations</td></tr><tr><td><code>SPC_SKIP_PHP_VERSION_CHECK</code></td><td>empty</td><td>Skip PHP version check when set to <code>yes</code></td></tr></tbody></table><h2 id="os-specific-variables" tabindex="-1">OS specific variables <a class="header-anchor" href="#os-specific-variables" aria-label="Permalink to "OS specific variables""></a></h2><p>These environment variables are system-specific and will only take effect on a specific OS.</p><h3 id="windows" tabindex="-1">Windows <a class="header-anchor" href="#windows" aria-label="Permalink to "Windows""></a></h3><table tabindex="0"><thead><tr><th>var name</th><th>default value</th><th>comment</th></tr></thead><tbody><tr><td><code>PHP_SDK_PATH</code></td><td><code>{pwd}\php-sdk-binary-tools</code></td><td>PHP SDK tools path</td></tr><tr><td><code>UPX_EXEC</code></td><td><code>$PKG_ROOT_PATH\bin\upx.exe</code></td><td>UPX compression tool path</td></tr></tbody></table><h3 id="macos" tabindex="-1">macOS <a class="header-anchor" href="#macos" aria-label="Permalink to "macOS""></a></h3><table tabindex="0"><thead><tr><th>var name</th><th>default value</th><th>comment</th></tr></thead><tbody><tr><td><code>CC</code></td><td><code>clang</code></td><td>C Compiler</td></tr><tr><td><code>CXX</code></td><td><code>clang++</code></td><td>C++ Compiler</td></tr><tr><td><code>SPC_DEFAULT_C_FLAGS</code></td><td><code>--target=arm64-apple-darwin</code> or <code>--target=x86_64-apple-darwin</code></td><td>Default C flags (not the same as <code>CFLAGS</code>)</td></tr><tr><td><code>SPC_DEFAULT_CXX_FLAGS</code></td><td><code>--target=arm64-apple-darwin</code> or <code>--target=x86_64-apple-darwin</code></td><td>Default C flags (not the same as <code>CPPFLAGS</code>)</td></tr><tr><td><code>SPC_CMD_PREFIX_PHP_BUILDCONF</code></td><td><code>./buildconf --force</code></td><td>PHP <code>buildconf</code> command prefix</td></tr><tr><td><code>SPC_CMD_PREFIX_PHP_CONFIGURE</code></td><td><code>./configure --prefix= --with-valgrind=no --enable-shared=no --enable-static=yes --disable-all --disable-cgi --disable-phpdbg</code></td><td>PHP <code>configure</code> command prefix</td></tr><tr><td><code>SPC_CMD_PREFIX_PHP_MAKE</code></td><td><code>make -j$SPC_CONCURRENCY</code></td><td>PHP <code>make</code> command prefix</td></tr><tr><td><code>SPC_CMD_VAR_PHP_CONFIGURE_CFLAGS</code></td><td><code>$SPC_DEFAULT_C_FLAGS -Werror=unknown-warning-option</code></td><td><code>CFLAGS</code> variable of PHP <code>configure</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_CONFIGURE_CPPFLAGS</code></td><td><code>-I$BUILD_INCLUDE_PATH</code></td><td><code>CPPFLAGS</code> variable of PHP <code>configure</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_CONFIGURE_LDFLAGS</code></td><td><code>-L$BUILD_LIB_PATH</code></td><td><code>LDFLAGS</code> variable of PHP <code>configure</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS</code></td><td><code>-g0 -Os</code> or <code>-g -O0</code> (the latter when using <code>--no-strip</code>)</td><td><code>EXTRA_CFLAGS</code> variable of PHP <code>make</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_MAKE_EXTRA_LIBS</code></td><td><code>-lresolv</code></td><td>Extra <code>EXTRA_LIBS</code> variables for PHP <code>make</code> command</td></tr></tbody></table><h3 id="linux" tabindex="-1">Linux <a class="header-anchor" href="#linux" aria-label="Permalink to "Linux""></a></h3><table tabindex="0"><thead><tr><th>var name</th><th>default value</th><th>comment</th></tr></thead><tbody><tr><td><code>UPX_EXEC</code></td><td><code>$PKG_ROOT_PATH/bin/upx</code></td><td>UPX compression tool path</td></tr><tr><td><code>GNU_ARCH</code></td><td><code>x86_64</code> or <code>aarch64</code></td><td>CPU architecture</td></tr><tr><td><code>CC</code></td><td>Alpine: <code>gcc</code>, Other: <code>$GNU_ARCH-linux-musl-gcc</code></td><td>C Compiler</td></tr><tr><td><code>CXX</code></td><td>Alpine: <code>g++</code>, Other: <code>$GNU_ARCH-linux-musl-g++</code></td><td>C++ Compiler</td></tr><tr><td><code>AR</code></td><td>Alpine: <code>ar</code>, Other: <code>$GNU_ARCH-linux-musl-ar</code></td><td>Static library tools</td></tr><tr><td><code>LD</code></td><td><code>ld.gold</code></td><td>Linker</td></tr><tr><td><code>PATH</code></td><td><code>/usr/local/musl/bin:/usr/local/musl/$GNU_ARCH-linux-musl/bin:$PATH</code></td><td>System PATH</td></tr><tr><td><code>SPC_DEFAULT_C_FLAGS</code></td><td>empty</td><td>Default C flags</td></tr><tr><td><code>SPC_DEFAULT_CXX_FLAGS</code></td><td>empty</td><td>Default C++ flags</td></tr><tr><td><code>SPC_CMD_PREFIX_PHP_BUILDCONF</code></td><td><code>./buildconf --force</code></td><td>PHP <code>buildconf</code> command prefix</td></tr><tr><td><code>SPC_CMD_PREFIX_PHP_CONFIGURE</code></td><td><code>LD_LIBRARY_PATH={ld_lib_path} ./configure --prefix= --with-valgrind=no --enable-shared=no --enable-static=yes --disable-all --disable-cgi --disable-phpdbg</code></td><td>PHP <code>configure</code> command prefix</td></tr><tr><td><code>SPC_CMD_PREFIX_PHP_MAKE</code></td><td><code>make -j$SPC_CONCURRENCY</code></td><td>PHP <code>make</code> command prefix</td></tr><tr><td><code>SPC_CMD_VAR_PHP_CONFIGURE_CFLAGS</code></td><td><code>$SPC_DEFAULT_C_FLAGS</code></td><td><code>CFLAGS</code> variable of PHP <code>configure</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_CONFIGURE_CPPFLAGS</code></td><td><code>-I$BUILD_INCLUDE_PATH</code></td><td><code>CPPFLAGS</code> variable of PHP <code>configure</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_CONFIGURE_LDFLAGS</code></td><td><code>-L$BUILD_LIB_PATH</code></td><td><code>LDFLAGS</code> variable of PHP <code>configure</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_CONFIGURE_LIBS</code></td><td><code>-ldl -lpthread</code></td><td><code>LIBS</code> variable of PHP <code>configure</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS</code></td><td><code>-g0 -Os -fno-ident -fPIE</code> or <code>-g -O0 -fno-ident -fPIE</code> (the latter when using <code>--no-strip</code>)</td><td><code>EXTRA_CFLAGS</code> variable of PHP <code>make</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_MAKE_EXTRA_LIBS</code></td><td>empty</td><td>Extra <code>EXTRA_LIBS</code> variables for PHP <code>make</code> command</td></tr><tr><td><code>SPC_CMD_VAR_PHP_MAKE_EXTRA_LDFLAGS_PROGRAM</code></td><td><code>-all-static</code> (when using <code>clang</code>: <code>-Xcompiler -fuse-ld=lld -all-static</code>)</td><td>Additional <code>LDFLAGS</code> variable for <code>make</code> command</td></tr><tr><td><code>SPC_NO_MUSL_PATH</code></td><td>empty</td><td>Whether to not insert the PATH of the musl toolchain (not inserted when the value is <code>yes</code>)</td></tr></tbody></table><blockquote><p><code>{ld_lib_path}</code> value is <code>/usr/local/musl/$GNU_ARCH-linux-musl/lib</code>。</p></blockquote><h3 id="freebsd" tabindex="-1">FreeBSD <a class="header-anchor" href="#freebsd" aria-label="Permalink to "FreeBSD""></a></h3><p>Due to the small number of users of the FreeBSD system, we do not provide environment variables for the FreeBSD system for the time being.</p><h3 id="unix" tabindex="-1">Unix <a class="header-anchor" href="#unix" aria-label="Permalink to "Unix""></a></h3><p>For Unix systems such as macOS, Linux, FreeBSD, etc., the following environment variables are common.</p><table tabindex="0"><thead><tr><th>var name</th><th>default value</th><th>comment</th></tr></thead><tbody><tr><td><code>PATH</code></td><td><code>$BUILD_BIN_PATH:$PATH</code></td><td>System PATH</td></tr><tr><td><code>PKG_CONFIG_PATH</code></td><td><code>$BUILD_LIB_PATH/pkgconfig</code></td><td>pkg-config search path</td></tr><tr><td><code>PKG_CONFIG</code></td><td><code>$BUILD_BIN_PATH/pkg-config</code></td><td>pkg-config executable path</td></tr></tbody></table><h2 id="library-environment-variables-unix-only" tabindex="-1">Library Environment variables (Unix only) <a class="header-anchor" href="#library-environment-variables-unix-only" aria-label="Permalink to "Library Environment variables (Unix only)""></a></h2><p>Starting from 2.2.0, static-php-cli supports custom environment variables for all compilation dependent library commands of macOS, Linux, FreeBSD and other Unix systems.</p><p>In this way, you can adjust the behavior of compiling dependent libraries through environment variables at any time. For example, you can set the optimization parameters for compiling the xxx library through <code>xxx_CFLAGS=-O0</code>.</p><p>Of course, not every library supports the injection of environment variables. We currently provide three wildcard environment variables with the suffixes:</p><ul><li><code>_CFLAGS</code>: CFLAGS for the compiler</li><li><code>_LDFLAGS</code>: LDFLAGS for the linker</li><li><code>_LIBS</code>: LIBS for the linker</li></ul><p>The prefix is the name of the dependent library, and the specific name of the library is subject to <code>lib.json</code>. Among them, the library name with <code>-</code> needs to replace <code>-</code> with <code>_</code>.</p><p>Here is an example of an optimization option that replaces the openssl library compilation:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">openssl_CFLAGS</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"-O0"</span></span></code></pre></div><p>The library name uses the same name listed in <code>lib.json</code> and is case-sensitive.</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>When no relevant environment variables are specified, except for the following variables, the remaining values are empty by default:</p><table tabindex="0"><thead><tr><th>var name</th><th>var default value</th></tr></thead><tbody><tr><td><code>pkg_config_CFLAGS</code></td><td>macOS: <code>$SPC_DEFAULT_C_FLAGS -Wimplicit-function-declaration -Wno-int-conversion</code>, Other: empty</td></tr><tr><td><code>pkg_config_LDFLAGS</code></td><td>Linux: <code>--static</code>, Other: empty</td></tr><tr><td><code>imagemagick_LDFLAGS</code></td><td>Linux: <code>-static</code>, Other: empty</td></tr><tr><td><code>imagemagick_LIBS</code></td><td>macOS: <code>-liconv</code>, Other: empty</td></tr><tr><td><code>ldap_LDFLAGS</code></td><td><code>-L$BUILD_LIB_PATH</code></td></tr><tr><td><code>openssl_CFLAGS</code></td><td>Linux: <code>$SPC_DEFAULT_C_FLAGS</code>, Other: empty</td></tr><tr><td>others...</td><td>empty</td></tr></tbody></table></div><p>The following table is a list of library names that support customizing the above three variables:</p><table tabindex="0"><thead><tr><th>lib name</th></tr></thead><tbody><tr><td>brotli</td></tr><tr><td>bzip</td></tr><tr><td>curl</td></tr><tr><td>freetype</td></tr><tr><td>gettext</td></tr><tr><td>gmp</td></tr><tr><td>imagemagick</td></tr><tr><td>ldap</td></tr><tr><td>libargon2</td></tr><tr><td>libavif</td></tr><tr><td>libcares</td></tr><tr><td>libevent</td></tr><tr><td>openssl</td></tr></tbody></table><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>Because adapting custom environment variables to each library is a particularly tedious task, and in most cases you do not need custom environment variables for these libraries, so we currently only support custom environment variables for some libraries.</p><p>If the library you need to customize environment variables is not listed above, you can submit your request through <a href="https://github.com/crazywhalecc/static-php-cli/issues" target="_blank" rel="noreferrer">GitHub Issue</a>.</p></div></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-d4a0bba5><!--[--><!--]--><!----><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-d4a0bba5><span class="visually-hidden" id="doc-footer-aria-label" data-v-d4a0bba5>Pager</span><div class="pager" data-v-d4a0bba5><a class="VPLink link pager-link prev" href="/en/guide/cli-generator.html" data-v-d4a0bba5><!--[--><span class="desc" data-v-d4a0bba5>Previous page</span><span class="title" data-v-d4a0bba5>Command Generator</span><!--]--></a></div><div class="pager" data-v-d4a0bba5><a class="VPLink link pager-link next" href="/en/guide/troubleshooting.html" data-v-d4a0bba5><!--[--><span class="desc" data-v-d4a0bba5>Next page</span><span class="title" data-v-d4a0bba5>Troubleshooting</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-5d98c3a5 data-v-e315a0ad><div class="container" data-v-e315a0ad><p class="message" data-v-e315a0ad>Released under the MIT License.</p><p class="copyright" data-v-e315a0ad>Copyright © 2023-present crazywhalecc</p></div></footer><!--[--><!--]--></div></div>
|
||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"zh_guide_action-build.md\":\"BQOsJgGT\",\"zh_guide_index.md\":\"D0Jfo4Dz\",\"zh_guide_build-on-windows.md\":\"C1RFP4Q6\",\"en_guide_cli-generator.md\":\"D5hLj5t8\",\"en_guide_extension-notes.md\":\"C-SzmSnl\",\"en_develop_doctor-module.md\":\"M_P38WuA\",\"en_guide_env-vars.md\":\"XRLVeMgw\",\"en_index.md\":\"B7rqxnyF\",\"en_guide_extensions.md\":\"BtMDj8Bu\",\"en_guide_troubleshooting.md\":\"BZNNttUZ\",\"en_guide_index.md\":\"DzPC1rL-\",\"zh_develop_doctor-module.md\":\"CPRdzud3\",\"zh_develop_index.md\":\"CISWAEXj\",\"zh_guide_troubleshooting.md\":\"CSXAWaMN\",\"extensions.md\":\"2KrBccsz\",\"extension-notes.md\":\"CYTuu5Xm\",\"zh_guide_extensions.md\":\"BHyfzh9r\",\"zh_index.md\":\"Bu-me8xZ\",\"zh_contributing_index.md\":\"BgLPhRbJ\",\"zh_develop_system-build-tools.md\":\"DvA9SnOG\",\"en_contributing_index.md\":\"0xRtVBv6\",\"zh_develop_source-module.md\":\"ByssbQZ9\",\"zh_develop_structure.md\":\"DDUlE6Vc\",\"en_guide_manual-build.md\":\"Bn941fl8\",\"zh_faq_index.md\":\"Bs3v_2I2\",\"zh_guide_extension-notes.md\":\"BI7HOrtL\",\"en_faq_index.md\":\"DM_hczmb\",\"en_develop_system-build-tools.md\":\"Ds5Kgdf6\",\"index.md\":\"DDaDbFm-\",\"en_develop_php-src-changes.md\":\"Dw_q8s3t\",\"en_develop_source-module.md\":\"BvLG6ZYy\",\"en_guide_action-build.md\":\"DqfXKtKF\",\"zh_guide_env-vars.md\":\"Dn5AS_wq\",\"zh_guide_manual-build.md\":\"DuFqT3ee\",\"en_develop_structure.md\":\"Bam0WW0K\",\"en_develop_index.md\":\"BqNiKnHj\",\"zh_guide_cli-generator.md\":\"CT-jTm3v\",\"en_guide_build-on-windows.md\":\"Bw1buXoR\",\"zh_develop_php-src-changes.md\":\"C7L9rEms\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"static-php-cli\",\"description\":\"Build single static PHP binary, with PHP project together, with popular extensions included.\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"nav\":[],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/crazywhalecc/static-php-cli\"}]},\"locales\":{\"en\":{\"label\":\"English\",\"lang\":\"en\",\"themeConfig\":{\"nav\":[{\"text\":\"Guide\",\"link\":\"/en/guide/\"},{\"text\":\"Advanced\",\"link\":\"/en/develop/\"},{\"text\":\"Contributing\",\"link\":\"/en/contributing/\"},{\"text\":\"FAQ\",\"link\":\"/en/faq/\"}],\"sidebar\":{\"/en/guide/\":[{\"text\":\"Guide\",\"items\":[{\"text\":\"Guide\",\"link\":\"/en/guide/\"},{\"text\":\"Actions Build\",\"link\":\"/en/guide/action-build\"},{\"text\":\"Manual Build\",\"link\":\"/en/guide/manual-build\"},{\"text\":\"Extension List\",\"link\":\"/en/guide/extensions\"},{\"text\":\"Extension Notes\",\"link\":\"/en/guide/extension-notes\"},{\"text\":\"Command Generator\",\"link\":\"/en/guide/cli-generator\"},{\"text\":\"Environment Variables\",\"link\":\"/en/guide/env-vars\",\"collapsed\":true}]},{\"items\":[{\"text\":\"Troubleshooting\",\"link\":\"/en/guide/troubleshooting\"},{\"text\":\"Build on Windows\",\"link\":\"/en/guide/build-on-windows\"}]}],\"/en/develop/\":[{\"text\":\"Development\",\"items\":[{\"text\":\"Get Started\",\"link\":\"/en/develop/\"},{\"text\":\"Project Structure\",\"link\":\"/en/develop/structure\"},{\"text\":\"PHP Source Modification\",\"link\":\"/en/develop/php-src-changes\"}]},{\"text\":\"Module\",\"items\":[{\"text\":\"Doctor \",\"link\":\"/en/develop/doctor-module\"},{\"text\":\"Source\",\"link\":\"/en/develop/source-module\"}]},{\"text\":\"Extra\",\"items\":[{\"text\":\"Compilation Tools\",\"link\":\"/en/develop/system-build-tools\"}]}],\"/en/contributing/\":[{\"text\":\"Contributing\",\"items\":[{\"text\":\"Contributing\",\"link\":\"/en/contributing/\"}]}]},\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2023-present crazywhalecc\"}}},\"zh\":{\"label\":\"简体中文\",\"lang\":\"zh\",\"themeConfig\":{\"nav\":[{\"text\":\"构建指南\",\"link\":\"/zh/guide/\"},{\"text\":\"进阶\",\"link\":\"/zh/develop/\"},{\"text\":\"贡献\",\"link\":\"/zh/contributing/\"},{\"text\":\"FAQ\",\"link\":\"/zh/faq/\"}],\"sidebar\":{\"/zh/guide/\":[{\"text\":\"构建指南\",\"items\":[{\"text\":\"指南\",\"link\":\"/zh/guide/\"},{\"text\":\"Actions 构建\",\"link\":\"/zh/guide/action-build\"},{\"text\":\"本地构建\",\"link\":\"/zh/guide/manual-build\"},{\"text\":\"扩展列表\",\"link\":\"/zh/guide/extensions\"},{\"text\":\"扩展注意事项\",\"link\":\"/zh/guide/extension-notes\"},{\"text\":\"编译命令生成器\",\"link\":\"/zh/guide/cli-generator\"},{\"text\":\"环境变量列表\",\"link\":\"/zh/guide/env-vars\"}]},{\"items\":[{\"text\":\"故障排除\",\"link\":\"/zh/guide/troubleshooting\"},{\"text\":\"在 Windows 上构建\",\"link\":\"/zh/guide/build-on-windows\"}]}],\"/zh/develop/\":[{\"text\":\"开发指南\",\"items\":[{\"text\":\"开发简介\",\"link\":\"/zh/develop/\"},{\"text\":\"项目结构简介\",\"link\":\"/zh/develop/structure\"},{\"text\":\"对 PHP 源码的修改\",\"link\":\"/zh/develop/php-src-changes\"}]},{\"text\":\"模块\",\"items\":[{\"text\":\"Doctor 环境检查工具\",\"link\":\"/zh/develop/doctor-module\"},{\"text\":\"资源模块\",\"link\":\"/zh/develop/source-module\"}]},{\"text\":\"其他\",\"items\":[{\"text\":\"系统编译工具\",\"link\":\"/zh/develop/system-build-tools\"}]}],\"/zh/contributing/\":[{\"text\":\"贡献指南\",\"items\":[{\"text\":\"贡献指南\",\"link\":\"/zh/contributing/\"}]}]},\"footer\":{\"message\":\"Released under the MIT License.\",\"copyright\":\"Copyright © 2023-present crazywhalecc\"}}}},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
|
||
|
||
</body>
|
||
</html> |