2026-07-16 06:25:16 +00:00
import { G as e , K as t , at as n , j as r } from "./chunks/framework.DrNIf5Lg.js" ; var i = JSON . parse ( ` {"title":"PHP SAPI Reference","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/sapi-reference.md","filePath":"en/guide/sapi-reference.md"} ` ) , a = { name : ` en/guide/sapi-reference.md ` } ; function o ( r , i , a , o , s , c ) { return n ( ) , e ( ` div ` , null , [ ... i [ 0 ] || = [ t ( ` <h1 id="php-sapi-reference" tabindex="-1">PHP SAPI Reference <a class="header-anchor" href="#php-sapi-reference" aria-label="Permalink to “PHP SAPI Reference”"> </a></h1><div class="tip custom-block"><p class="custom-block-title custom-block-title-default">TIP</p><p>If you installed spc as a pre-built binary, replace every <code>spc</code> in this page with <code>./spc</code> (or <code>. \\ spc.exe</code> on Windows).</p><p>If you installed from source, use <code>bin/spc</code> instead.</p></div><p>This page describes the build options and usage for each PHP SAPI supported by StaticPHP.</p><h2 id="overview" tabindex="-1">Overview <a class="header-anchor" href="#overview" aria-label="Permalink to “Overview”"> </a></h2><table tabindex="0"><thead><tr><th>SAPI</th><th>Build flag</th><th>Output path (Linux/macOS)</th><th>Output path (Windows)</th><th>Platform support</th></tr></thead><tbody><tr><td>cli</td><td><code>--build-cli</code></td><td><code>buildroot/bin/php</code></td><td><code>buildroot/bin/php.exe</code></td><td>Linux, macOS, Windows</td></tr><tr><td>fpm</td><td><code>--build-fpm</code></td><td><code>buildroot/bin/php-fpm</code></td><td>—</td><td>Linux, macOS</td></tr><tr><td>micro</td><td><code>--build-micro</code></td><td><code>buildroot/bin/micro.sfx</code></td><td><code>buildroot/bin/micro.sfx</code></td><td>Linux, macOS, Windows</td></tr><tr><td>embed</td><td><code>--build-embed</code></td><td><code>buildroot/lib/libphp.a</code></td><td><code>buildroot/lib/php8embed.lib</code></td><td>Linux, macOS, Windows</td></tr><tr><td>frankenphp</td><td><code>--build-frankenphp</code></td><td><code>buildroot/bin/frankenphp</code></td><td><code>buildroot/bin/frankenphp.exe</code></td><td>Linux, macOS, Windows</td></tr></tbody></table><h2 id="cli" tabindex="-1">cli <a class="header-anchor" href="#cli" aria-label="Permalink to “cli”"> </a></h2><p>The <code>cli</code> SAPI is the standard PHP command-line binary for running scripts, interactive shells, and CLI applications.</p><h3 id="build" tabindex="-1">Build <a class="header-anchor" href="#build" aria-label="Permalink to “Build”"> </a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">spc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> build:php</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> "bcmath,openssl,curl"</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --build-cli</span></span></code></pre></div><p>The output is <code>buildroot/bin/php</code> on Linux and macOS, and <code>buildroot/bin/php.exe</code> on Windows.</p><p>See <a href="./cli-reference.html#sapi-selection">build:php — SAPI Selection</a> and <a href="./cli-reference.html#common-build-options">build:php — Common Build Options</a> for the full option reference.</p><h3 id="usage" tabindex="-1">Usage <a class="header-anchor" href="#usage" aria-label="Permalink to “Usage”"> </a></h3><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#62687b;--shiki-dark:#818e99;"># Check version and loaded extensions</span></span>
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / php < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - v < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / php < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - m < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#62687b;--shiki-dark:#818e99;" > # Run a script < / s p a n > < / s p a n >
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / php < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > y o u r - s c r i p t . p h p < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#62687b;--shiki-dark:#818e99;" > # Interactive mode < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / php < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - a < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 3 i d = " p h p - i n i - s e a r c h - p a t h " t a b i n d e x = " - 1 " > p h p . i n i s e a r c h p a t h < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # p h p - i n i - s e a r c h - p a t h " a r i a - l a b e l = " P e r m a l i n k t o “ p h p . i n i s e a r c h p a t h ” " > < / a > < / h 3 > < p > T h e s t a t i c P H P c l i b i n a r y s e a r c h e s f o r < c o d e > p h p . i n i < / c o d e > i n t h i s o r d e r : < / p > < o l > < l i > T h e p a t h s p e c i f i e d w i t h t h e < c o d e > - c / p a t h / t o / p h p . i n i < / c o d e > c o m m a n d - l i n e f l a g < / l i > < l i > T h e p a t h s e t i n t h e < c o d e > P H P _ I N I _ P A T H < / c o d e > e n v i r o n m e n t v a r i a b l e < / l i > < l i > T h e d i r e c t o r y s p e c i f i e d a t c o m p i l e t i m e v i a < c o d e > - - w i t h - c o n f i g - f i l e - p a t h < / c o d e > ( d e f a u l t : < c o d e > / u s r / l o c a l / e t c / p h p < / c o d e > ) < / l i > < / o l > < p > R u n < c o d e > . / b u i l d r o o t / b i n / p h p - - i n i < / c o d e > t o s e e w h i c h i n i f i l e i s a c t u a l l y l o a d e d . < / p > < h 3 i d = " h a r d - c o d e d - i n i " t a b i n d e x = " - 1 " > H a r d - c o d e d I N I < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # h a r d - c o d e d - i n i " a r i a - l a b e l = " P e r m a l i n k t o “ H a r d - c o d e d I N I ” " > < / a > < / h 3 > < p > U s e < c o d e > - I < / c o d e > a t b u i l d t i m e t o b a k e I N I s e t t i n g s d i r e c t l y i n t o t h e b i n a r y , s o n o e x t e r n a l < c o d e > p h p . i n i < / c o d e > i s r e q u i r e d : < / p > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 F 4 2 C 1 ; - - s h i k i - d a r k : # B 3 9 2 F 0 ; " > s p c < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > b u i l d : p h p < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; b c m a t h , p c n t l & q u o t ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - b u i l d - c l i < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - I < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; m e m o r y _ l i m i t = 4 G & q u o t ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - I < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; d i s a b l e _ f u n c t i o n s = s y s t e m , e x e c & q u o t ; < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > H a r d - c o d e d I N I a p p l i e s t o t h e < c o d e > c l i < / c o d e > , < c o d e > m i c r o < / c o d e > , a n d < c o d e > e m b e d < / c o d e > S A P I s . < / p > < h 2 i d = " f p m " t a b i n d e x = " - 1 " > f p m < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # f p m " a r i a - l a b e l = " P e r m a l i n k t o “ f p m ” " > < / a > < / h 2 > < p > T h e < c o d e > f p m < / c o d e > S A P I ( F a s t C G I P r o c e s s M a n a g e r ) i s u s e d w i t h w e b s e r v e r s s u c h a s N g i n x o r A p a c h e f o r t r a d i t i o n a l w e b a p p l i c a t i o n d e p l o y m e n t s . < / p > < d i v c l a s s = " w a r n i n g c u s t o m - b l o c k " > < p c l a s s = " c u s t o m - b l o c k - t i t l e c u s t o m - b l o c k - t i t l e - d e f a u l t " > W A R N I N G < / p > < p > < c o d e > f p m < / c o d e > i s n o t s u p p o r t e d o n W i n d o w s . < / p > < / d i v > < h 3 i d = " b u i l d - 1 " t a b i n d e x = " - 1 " > B u i l d < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # b u i l d - 1 " a r i a - l a b e l = " P e r m a l i n k t o “ B u i l d ” " > < / a > < / h 3 > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 F 4 2 C 1 ; - - s h i k i - d a r k : # B 3 9 2 F 0 ; " > s p c < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > b u i l d : p h p < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; b c m a t h , o p e n s s l , c u r l , p d o _ m y s q l & q u o t ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - b u i l d - f p m < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > T h e o u t p u t i s < c o d e > b u i l d r o o t / b i n / p h p - f p m < / c o d e > . < / p > < p > S e e < a h r e f = " . / c l i - r e f e r e n c e . h t m l # s a p i - s e l e c t i o n " > b u i l d : p h p — S A P I S e l e c t i o n < / a > a n d < a h r e f = " . / c l i - r e f e r e n c e . h t m l # c o m m o n - b u i l d - o p t i o n s " > b u i l d : p h p — C o m m o n B u i l d O p t i o n s < / a > f o r t h e f u l l o p t i o n r e f e r e n c e . < / p > < h 3 i d = " u s a g e - 1 " t a b i n d e x = " - 1 " > U s a g e < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # u s a g e - 1 " a r i a - l a b e l = " P e r m a l i n k t o “ U s a g e ” " > < / a > < / h 3 > < p > C o p y < c o d e > b u i l d r o o t / b i n / p h p - f p m < / c o d e > t o y o u r s e r v e r a n d u s e i t l i k e a r e g u l a r < c o d e > p h p - f p m < / c o d e > b i n a r y : < / p > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / php - fpm < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - v < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#62687b;--shiki-dark:#818e99;" > # Start with a specific config file < / s p a n > < / s p a n >
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / php - fpm < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - c < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > / p a t h / t o / p h p . i n i < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - y < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > / p a t h / t o / p h p - f p m . c o n f < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#62687b;--shiki-dark:#818e99;" > # Test config file < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / php - fpm < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - t < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 3 i d = " e x a m p l e - n g i n x - p h p - f p m " t a b i n d e x = " - 1 " > E x a m p l e : N g i n x + p h p - f p m < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # e x a m p l e - n g i n x - p h p - f p m " a r i a - l a b e l = " P e r m a l i n k t o “ E x a m p l e : N g i n x + p h p - f p m ” " > < / a > < / h 3 > < d i v c l a s s = " l a n g u a g e - n g i n x " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > n g i n x < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # c 6 2 7 3 9 ; - - s h i k i - d a r k : # F 9 7 5 8 3 ; " > s e r v e r < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > { < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > listen < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > 8 0 < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > ; < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > root < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > / v a r / w w w / h t m l ; < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > index < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > i n d e x . p h p ; < / s p a n > < / s p a n >
2026-07-04 07:43:21 +00:00
< span class = "line" > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > location < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # c 6 2 7 3 9 ; - - s h i k i - d a r k : # F 9 7 5 8 3 ; " > ~ < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # D B E D F F ; " > \ \ . p h p $ < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > { < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > fastcgi _pass < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > 1 2 7 . 0 . 0 . 1 : 9 0 0 0 ; < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > fastcgi _param < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > S C R I P T _ F I L E N A M E $ d o c u m e n t _ r o o t $ f a s t c g i _ s c r i p t _ n a m e ; < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > include < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > f a s t c g i _ p a r a m s ; < / s p a n > < / s p a n >
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > } < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > } < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > E x a m p l e < c o d e > p h p - f p m . c o n f < / c o d e > : < / p > < d i v c l a s s = " l a n g u a g e - i n i " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > i n i < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 F 4 2 C 1 ; - - s h i k i - d a r k : # B 3 9 2 F 0 ; " > [ g l o b a l ] < / s p a n > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > pid < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > = / v a r / r u n / p h p - f p m . p i d < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > error _log < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > = / v a r / l o g / p h p - f p m . l o g < / s p a n > < / s p a n >
2026-07-04 07:43:21 +00:00
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > [ www ] < / s p a n > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > listen < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > = 1 2 7 . 0 . 0 . 1 : 9 0 0 0 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > pm < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > = d y n a m i c < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > pm . max _children < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > = 5 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > pm . start _servers < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > = 2 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > pm . min _spare _servers < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > = 1 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#c62739;--shiki-dark:#F97583;" > pm . max _spare _servers < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > = 3 < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " m i c r o " t a b i n d e x = " - 1 " > m i c r o < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # m i c r o " a r i a - l a b e l = " P e r m a l i n k t o “ m i c r o ” " > < / a > < / h 2 > < p > T h e < c o d e > m i c r o < / c o d e > S A P I i s b u i l t o n < a h r e f = " h t t p s : / / g i t h u b . c o m / e a s y s o f t / p h p m i c r o " t a r g e t = " _ b l a n k " r e l = " n o r e f e r r e r " > p h p m i c r o < / a > a n d p r o d u c e s a s e l f - c o n t a i n e d e x e c u t a b l e s t u b . W i t h < c o d e > s p c m i c r o : c o m b i n e < / c o d e > , y o u c a n m e r g e < c o d e > m i c r o . s f x < / c o d e > w i t h y o u r P H P c o d e i n t o a s i n g l e p o r t a b l e b i n a r y t h a t r e q u i r e s n o P H P i n s t a l l a t i o n o n t h e t a r g e t m a c h i n e . < / p > < h 3 i d = " b u i l d - 2 " t a b i n d e x = " - 1 " > B u i l d < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # b u i l d - 2 " a r i a - l a b e l = " P e r m a l i n k t o “ B u i l d ” " > < / a > < / h 3 > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 F 4 2 C 1 ; - - s h i k i - d a r k : # B 3 9 2 F 0 ; " > s p c < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > b u i l d : p h p < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; b c m a t h , p h a r , o p e n s s l , c u r l & q u o t ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - b u i l d - m i c r o < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > T h e o u t p u t i s < c o d e > b u i l d r o o t / b i n / m i c r o . s f x < / c o d e > . < / p > < p > S e e < a h r e f = " . / c l i - r e f e r e n c e . h t m l # s a p i - s e l e c t i o n " > b u i l d : p h p — S A P I S e l e c t i o n < / a > , < a h r e f = " . / c l i - r e f e r e n c e . h t m l # c o m m o n - b u i l d - o p t i o n s " > b u i l d : p h p — C o m m o n B u i l d O p t i o n s < / a > , a n d < a h r e f = " . / c l i - r e f e r e n c e . h t m l # m i c r o - o p t i o n s " > b u i l d : p h p — m i c r o O p t i o n s < / a > f o r t h e f u l l o p t i o n r e f e r e n c e . < / p > < h 3 i d = " p a c k a g i n g - a n - a p p l i c a t i o n " t a b i n d e x = " - 1 " > P a c k a g i n g a n a p p l i c a t i o n < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # p a c k a g i n g - a n - a p p l i c a t i o n " a r i a - l a b e l = " P e r m a l i n k t o “ P a c k a g i n g a n a p p l i c a t i o n ” " > < / a > < / h 3 > < p > U s e < c o d e > m i c r o : c o m b i n e < / c o d e > t o b u n d l e a P H P s c r i p t o r p h a r i n t o a s t a n d a l o n e e x e c u t a b l e : < / p > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 2 6 8 7 b ; - - s h i k i - d a r k : # 8 1 8 e 9 9 ; " > # B u n d l e a P H P s c r i p t < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > echo < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; & l t ; ? p h p e c h o & # 3 9 ; H e l l o , W o r l d ! & # 3 9 ; . P H P _ E O L ; & q u o t ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # c 6 2 7 3 9 ; - - s h i k i - d a r k : # F 9 7 5 8 3 ; " > & g t ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > h e l l o . p h p < / s p a n > < / s p a n >
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > m i c r o : c o m b i n e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > h e l l o . p h p < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - o u t p u t = h e l l o < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / hello < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#62687b;--shiki-dark:#818e99;" > # Bundle a phar < / s p a n > < / s p a n >
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > m i c r o : c o m b i n e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > y o u r - a p p . p h a r < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - o u t p u t = y o u r - a p p < / s p a n > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / your - app < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 3 i d = " i n j e c t i n g - i n i - s e t t i n g s " t a b i n d e x = " - 1 " > I n j e c t i n g I N I s e t t i n g s < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # i n j e c t i n g - i n i - s e t t i n g s " a r i a - l a b e l = " P e r m a l i n k t o “ I n j e c t i n g I N I s e t t i n g s ” " > < / a > < / h 3 > < p > I N I c o n f i g u r a t i o n c a n b e i n j e c t e d a t p a c k a g i n g t i m e v i a c o m m a n d - l i n e o p t i o n s o r a n i n i f i l e : < / p > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 2 6 8 7 b ; - - s h i k i - d a r k : # 8 1 8 e 9 9 ; " > # I n j e c t v i a c o m m a n d - l i n e o p t i o n s ( - I i s s h o r t h a n d f o r - - w i t h - i n i - s e t ) < / s p a n > < / s p a n >
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > m i c r o : c o m b i n e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > y o u r - a p p . p h a r < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - o u t p u t = y o u r - a p p < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - I < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; m e m o r y _ l i m i t = 5 1 2 M & q u o t ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - I < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; c u r l . c a i n f o = / e t c / s s l / c e r t s / c a - c e r t i f i c a t e s . c r t & q u o t ; < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#62687b;--shiki-dark:#818e99;" > # Inject from an ini file ( - N is shorthand for -- with - ini - file ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > m i c r o : c o m b i n e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > y o u r - a p p . p h a r < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - o u t p u t = y o u r - a p p < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - N < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > / p a t h / t o / c u s t o m . i n i < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < d i v c l a s s = " t i p c u s t o m - b l o c k " > < p c l a s s = " c u s t o m - b l o c k - t i t l e c u s t o m - b l o c k - t i t l e - d e f a u l t " > T I P < / p > < p > T h e I N I i n j e c t e d w i t h < c o d e > - I < / c o d e > h e r e i s r u n t i m e c o n f i g u r a t i o n a p p e n d e d t o t h e < c o d e > m i c r o . s f x < / c o d e > f i l e a s a s p e c i a l s t r u c t u r e . T h i s i s d i s t i n c t f r o m I N I h a r d - c o d e d a t c o m p i l e t i m e u s i n g < c o d e > - I < / c o d e > d u r i n g < c o d e > b u i l d : p h p < / c o d e > . B o t h c a n c o e x i s t . < / p > < / d i v > < h 3 i d = " p r e t e n d i n g - t o - b e - t h e - c l i - s a p i " t a b i n d e x = " - 1 " > P r e t e n d i n g t o b e t h e c l i S A P I < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # p r e t e n d i n g - t o - b e - t h e - c l i - s a p i " a r i a - l a b e l = " P e r m a l i n k t o “ P r e t e n d i n g t o b e t h e c l i S A P I ” " > < / a > < / h 3 > < p > S o m e f r a m e w o r k s c h e c k t h e < c o d e > P H P _ S A P I < / c o d e > v a l u e a n d r e f u s e t o r u n o u t s i d e < c o d e > c l i < / c o d e > . S i n c e < c o d e > m i c r o < / c o d e > & # 3 9 ; s < c o d e > P H P _ S A P I < / c o d e > i s < c o d e > m i c r o < / c o d e > b y d e f a u l t , y o u c a n m a k e i t r e p o r t < c o d e > c l i < / c o d e > i n s t e a d : < / p > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 F 4 2 C 1 ; - - s h i k i - d a r k : # B 3 9 2 F 0 ; " > s p c < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > b u i l d : p h p < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; b c m a t h , p h a r & q u o t ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - b u i l d - m i c r o < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - w i t h - m i c r o - f a k e - c l i < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 3 i d = " s p e c i f y i n g - a - c u s t o m - m i c r o - s f x - p a t h " t a b i n d e x = " - 1 " > S p e c i f y i n g a c u s t o m m i c r o . s f x p a t h < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # s p e c i f y i n g - a - c u s t o m - m i c r o - s f x - p a t h " a r i a - l a b e l = " P e r m a l i n k t o “ S p e c i f y i n g a c u s t o m m i c r o . s f x p a t h ” " > < / a > < / h 3 > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 F 4 2 C 1 ; - - s h i k i - d a r k : # B 3 9 2 F 0 ; " > s p c < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > m i c r o : c o m b i n e < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > y o u r - a p p . p h a r < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - o u t p u t = y o u r - a p p < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - w i t h - m i c r o = / p a t h / t o / y o u r / m i c r o . s f x < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 3 i d = " p h a r - p a t h - c o n s i d e r a t i o n s " t a b i n d e x = " - 1 " > p h a r p a t h c o n s i d e r a t i o n s < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # p h a r - p a t h - c o n s i d e r a t i o n s " a r i a - l a b e l = " P e r m a l i n k t o “ p h a r p a t h c o n s i d e r a t i o n s ” " > < / a > < / h 3 > < p > W h e n p a c k a g i n g a p h a r , i n t e r n a l r e l a t i v e p a t h s m a y b e h a v e d i f f e r e n t l y t h a n e x p e c t e d . S e e t h e < a h r e f = " . / . . / d e v e l o p / s t r u c t u r e . h t m l " > D e v e l o p e r G u i d e — P h a r d i r e c t o r y i s s u e < / a > f o r d e t a i l s . < / p > < h 2 i d = " e m b e d " t a b i n d e x = " - 1 " > e m b e d < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # e m b e d " a r i a - l a b e l = " P e r m a l i n k t o “ e m b e d ” " > < / a > < / h 2 > < p > T h e < c o d e > e m b e d < / c o d e > S A P I c o m p i l e s P H P i n t o a s t a t i c l i b r a r y ( < c o d e > l i b p h p . a < / c o d e > o n L i n u x / m a c O S , < c o d e > p h p 8 e m b e d . l i b < / c o d e > o n W i n d o w s ) t h a t c a n b e l i n k e d i n t o C / C + + p r o g r a m s t o r u n P H P c o d e d i r e c t l y . < / p > < h 3 i d = " b u i l d - 3 " t a b i n d e x = " - 1 " > B u i l d < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # b u i l d - 3 " a r i a - l a b e l = " P e r m a l i n k t o “ B u i l d ” " > < / a > < / h 3 > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / frankenphp < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > v e r s i o n < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#62687b;--shiki-dark:#818e99;" > # Run in PHP development server mode < / s p a n > < / s p a n >
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / frankenphp < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p h p - s e r v e r < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2026-07-16 06:25:16 +00:00
< span class = "line" > < span style = "--shiki-light:#62687b;--shiki-dark:#818e99;" > # Run with a Caddyfile < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / buildroot / bin / frankenphp < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > r u n < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - c o n f i g < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > / p a t h / t o / C a d d y f i l e < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > F o r f u l l u s a g e , r e f e r t o t h e < a h r e f = " h t t p s : / / f r a n k e n p h p . d e v / d o c s / " t a r g e t = " _ b l a n k " r e l = " n o r e f e r r e r " > F r a n k e n P H P d o c u m e n t a t i o n < / a > . < / p > < h 2 i d = " d y n a m i c - e x t e n s i o n - l o a d i n g " t a b i n d e x = " - 1 " > D y n a m i c E x t e n s i o n L o a d i n g < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # d y n a m i c - e x t e n s i o n - l o a d i n g " a r i a - l a b e l = " P e r m a l i n k t o “ D y n a m i c E x t e n s i o n L o a d i n g ” " > < / a > < / h 2 > < p > W h e t h e r a s t a t i c P H P b i n a r y c a n l o a d e x t e n s i o n s a t r u n t i m e v i a < c o d e > d l ( ) < / c o d e > d e p e n d s o n h o w t h e b i n a r y w a s l i n k e d . < / p > < p > < s t r o n g > m a c O S < / s t r o n g > — T h e b u i l d a l w a y s l i n k s d y n a m i c a l l y a g a i n s t s y s t e m l i b r a r i e s . E x t e n s i o n s b u i l t a s < c o d e > . s o < / c o d e > f i l e s c a n b e l o a d e d a t r u n t i m e v i a < c o d e > d l ( ) < / c o d e > o r < c o d e > p h p . i n i < / c o d e > a s u s u a l . < / p > < p > < s t r o n g > L i n u x < / s t r o n g > — S t a t i c P H P & # 3 9 ; s d e f a u l t b u i l d t a r g e t i s < c o d e > n a t i v e - n a t i v e - m u s l < / c o d e > : a f u l l y s t a t i c b i n a r y l i n k e d a g a i n s t m u s l l i b c . B e c a u s e t h e r e i s n o d y n a m i c l i n k e r a v a i l a b l e a t r u n t i m e , < c o d e > d l ( ) < / c o d e > i s d i s a b l e d , t h e F F I e x t e n s i o n c a n n o t b e u s e d , a n d n o e x t e r n a l < c o d e > . s o < / c o d e > e x t e n s i o n s c a n b e l o a d e d . < / p > < p > T o s u p p o r t d y n a m i c e x t e n s i o n l o a d i n g o n L i n u x , s e t t h e < c o d e > S P C _ T A R G E T < / c o d e > e n v i r o n m e n t v a r i a b l e b e f o r e b u i l d i n g : < / p > < d i v c l a s s = " l a n g u a g e - b a s h " > < b u t t o n t i t l e = " C o p y C o d e " c l a s s = " c o p y " > < / b u t t o n > < s p a n c l a s s = " l a n g " > b a s h < / s p a n > < p r e c l a s s = " s h i k i s h i k i - t h e m e s g i t h u b - l i g h t g i t h u b - d a r k " s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 e ; - - s h i k i - d a r k : # e 1 e 4 e 8 ; - - s h i k i - l i g h t - b g : # f f f ; - - s h i k i - d a r k - b g : # 2 4 2 9 2 e ; " t a b i n d e x = " 0 " d i r = " l t r " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n s t y l e = " - - s h i k i - l i g h t : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > S P C _ T A R G E T < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # c 6 2 7 3 9 ; - - s h i k i - d a r k : # F 9 7 5 8 3 ; " > = < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > n a t i v e - n a t i v e - g n u . 2 . 1 7 < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 6 F 4 2 C 1 ; - - s h i k i - d a r k : # B 3 9 2 F 0 ; " > s p c < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > b u i l d : p h p < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > & q u o t ; b c m a t h , o p e n s s l & q u o t ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # 0 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - b u i l d - c l i < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > I f y o u i n s t a l l e d f r o m s o u r c e , y o u c a n a l s o s e t < c o d e > S P C _ T A R G E T = n a t i v e - n a t i v e - g n u . 2 . 1 7 < / c o d e > i n < c o d e > c o n f i g / e n v . i n i < / c o d e > t o m a k e i t t h e d e f a u l t f o r a l l b u i l d s . < / p > < p > T h i s u s e s t h e Z i g t o o l c h a i n t o p r o d u c e a p a r t i a l l y s t a t i c b i n a r y d y n a m i c a l l y l i n k e d a g a i n s t g l i b c 2 . 1 7 , c o m p a t i b l e w i t h m o s t m o d e r n G N U / L i n u x d i s t r i b u t i o n s . N o D o c k e r a n d n o e x t r a c r o s s - c o m p i l a t i o n t o o l c h a i n a r e r e q u i r e d . T h e r e s u l t i n g b i n a r y s u p p o r t s < c o d e > d l ( ) < / c o d e > , F F I , a n d l o a d i n g < c o d e > . s o < / c o d e > e x t e n s i o n s a t r u n t i m e , b u t c a n n o t r u n o n m u s l - b a s e d s y s t e m s s u c h a s A l p i n e L i n u x . < / p > < p > < s t r o n g > W i n d o w s < / s t r o n g > — P H P e x t e n s i o n s o n W i n d o w s a r e d i s t r i b u t e d a s < c o d e > . d l l < / c o d e > f i l e s t h a t d e p e n d o n t h e D L L s b u n d l e d w i t h t h e o f f i c i a l d y n a m i c a l l y - b u i l t P H P . S t a t i c P H P p r o d u c e s a s t a n d a l o n e s t a t i c e x e c u t a b l e t h a t d o e s n o t i n c l u d e t h o s e D L L s , s o d y n a m i c e x t e n s i o n l o a d i n g i s n o t p o s s i b l e o n W i n d o w s . A l l e x t e n s i o n s m u s t b e c o m p i l e d i n s t a t i c a l l y a t b u i l d t i m e . < / p > ` , 8 3 ) ] ] ) } v a r s = r ( a , [ [ ` r e n d e r ` , o ] ] ) ; e x p o r t { i a s _ _ p a g e D a t a , s a s d e f a u l t } ;