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":"Migrating from v2","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/migrate-from-v2.md","filePath":"en/guide/migrate-from-v2.md"} ` ) , a = { name : ` en/guide/migrate-from-v2.md ` } ; function o ( r , i , a , o , s , c ) { return n ( ) , e ( ` div ` , null , [ ... i [ 0 ] || = [ t ( ` <h1 id="migrating-from-v2" tabindex="-1">Migrating from v2 <a class="header-anchor" href="#migrating-from-v2" aria-label="Permalink to “Migrating from v2”"> </a></h1><p>StaticPHP v3 is a ground-up rewrite. The core build workflow (<code>download → build → combine</code>) remains familiar, but several commands, options, and configuration fields have changed. This page covers everything you need to update before switching.</p><div class="info custom-block"><p class="custom-block-title">Scope</p><p>This guide only covers user-facing CLI commands, options, <code>craft.yml</code> fields, and <code>env.ini</code> variable names. Internal PHP APIs are not covered.</p></div><h2 id="documentation-url-change" tabindex="-1">Documentation URL Change <a class="header-anchor" href="#documentation-url-change" aria-label="Permalink to “Documentation URL Change”"> </a></h2><p>The official documentation site has moved:</p><ul><li><strong>v3 docs (current)</strong>: <a href="https://static-php.dev" target="_blank" rel="noreferrer">https://static-php.dev</a> — the main site now hosts v3 documentation.</li><li><strong>v2 docs (archived)</strong>: <a href="https://static-php.github.io/v2-docs/" target="_blank" rel="noreferrer">https://static-php.github.io/v2-docs/</a> — v2 documentation is preserved here for reference.</li></ul><p>Update any bookmarks or internal links accordingly.</p><h2 id="spc-binary-download-url-change" tabindex="-1"><code>spc</code> Binary Download URL Change <a class="header-anchor" href="#spc-binary-download-url-change" aria-label="Permalink to “spc Binary Download URL Change”"> </a></h2><p>The nightly <code>spc</code> self-contained binary has moved to a new path:</p><table tabindex="0"><thead><tr><th></th><th>URL</th></tr></thead><tbody><tr><td><strong>v2</strong></td><td><code>https://dl.static-php.dev/static-php-cli/spc-bin/nightly/</code></td></tr><tr><td><strong>v3</strong></td><td><code>https://dl.static-php.dev/v3/spc-bin/nightly/</code></td></tr></tbody></table><p>Update any CI scripts or bootstrap commands that download the <code>spc</code> binary directly. For example:</p><div class="language-bash"><button title="Copy Code" class="copy"></button><span class="lang">bash</span><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex="0" dir="ltr"><code><span class="line"><span style="--shiki-light:#62687b;--shiki-dark:#818e99;"># v2</span></span>
2026-07-04 07:43:21 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > curl < / 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 < / 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 ; " > 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 ; " > h t t p s : / / d l . s t a t i c - p h p . d e v / s t a t i c - p h p - c l i / s p c - b i n / n i g h t l y / s p c - l i n u x - x 8 6 _ 6 4 < / 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;" > # v3 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > curl < / 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 < / 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 ; " > 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 ; " > h t t p s : / / d l . s t a t i c - p h p . d e v / v 3 / s p c - b i n / n i g h t l y / s p c - l i n u x - x 8 6 _ 6 4 < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " r e m o v e d - c o m m a n d s " t a b i n d e x = " - 1 " > R e m o v e d C o m m a n d s < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # r e m o v e d - c o m m a n d s " a r i a - l a b e l = " P e r m a l i n k t o “ R e m o v e d C o m m a n d s ” " > < / a > < / h 2 > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > v 2 C o m m a n d < / t h > < t h > v 3 R e p l a c e m e n t < / t h > < t h > N o t e s < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > d e l - d o w n l o a d < / c o d e > < / t d > < t d > < c o d e > s p c r e s e t < / c o d e > < / t d > < t d > < c o d e > r e s e t < / c o d e > a l s o a c c e p t s < c o d e > - - w i t h - p k g r o o t < / c o d e > a n d < c o d e > - - w i t h - d o w n l o a d < / c o d e > f o r f i n e r c o n t r o l < / t d > < / t r > < t r > < t d > < c o d e > d e l - d o w n l o a d - - a l l < / c o d e > < / t d > < t d > < c o d e > s p c r e s e t - - w i t h - d o w n l o a d < / c o d e > < / t d > < t d > R e m o v e s t h e d o w n l o a d s c a c h e d i r e c t o r y < / t d > < / t r > < / t b o d y > < / t a b l e > < h 2 i d = " r e m o v e d - o p t i o n s " t a b i n d e x = " - 1 " > R e m o v e d O p 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 = " # r e m o v e d - o p 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 “ R e m o v e d O p t i o n s ” " > < / a > < / h 2 > < h 3 i d = " w i t h - a d d e d - p a t c h - p - b u i l d - c o m m a n d " t a b i n d e x = " - 1 " > < c o d e > - - w i t h - a d d e d - p a t c h < / c o d e > / < c o d e > - P < / c o d e > ( b u i l d c o m m a n d ) < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # w i t h - a d d e d - p a t c h - p - b u i l d - c o m m a n d " a r i a - l a b e l = " P e r m a l i n k t o “ - - w i t h - a d d e d - p a t c h / - P ( b u i l d c o m m a n d ) ” " > < / a > < / h 3 > < p > T h i s o p t i o n a l l o w e d i n j e c t i n g e x t e r n a l P H P p a t c h s c r i p t s a t s p e c i f i c b u i l d s t a g e s . < s t r o n g > I t h a s b e e n r e m o v e d i n v 3 . < / s t r o n g > < / p > < p > T h e r e i s n o d i r e c t d r o p - i n r e p l a c e m e n t . I f y o u r e l i e d o n t h i s f e a t u r e : < / p > < u l > < l i > C o n s i d e r c o n t r i b u t i n g y o u r p a t c h e s u p s t r e a m t o t h e S t a t i c P H P r e p o s i t o r y . < / l i > < l i > F o r p r o j e c t - s p e c i f i c p a t c h e s , u s e a c u s t o m r e g i s t r y w i t h a p a c k a g e c l a s s . S e e < a h r e f = " / e n / d e v e l o p / e x t e n d i n g / p a c k a g e - c l a s s e s . h t m l " > W r i t i n g P a c k a g e C l a s s e s < / a > f o r d e t a i l s . < / l i > < / u l > < 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 " > F u t u r e P l a n s < / p > < p > A s i n g l e - f i l e h o o k A P I f o r l i g h t w e i g h t p a t c h e s m a y b e p r o v i d e d i n a f u t u r e r e l e a s e . < / p > < / d i v > < h 3 i d = " w i n d o w s - o n l y - w i t h - s d k - b i n a r y - d i r - a n d - v s - v e r " t a b i n d e x = " - 1 " > W i n d o w s - o n l y : < c o d e > - - w i t h - s d k - b i n a r y - d i r < / c o d e > a n d < c o d e > - - v s - v e r < / c o d e > < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # w i n d o w s - o n l y - w i t h - s d k - b i n a r y - d i r - a n d - v s - v e r " a r i a - l a b e l = " P e r m a l i n k t o “ W i n d o w s - o n l y : - - w i t h - s d k - b i n a r y - d i r a n d - - v s - v e r ” " > < / a > < / h 3 > < p > T h e s e o p t i o n s a r e n o l o n g e r a c c e p t e d o n t h e c o m m a n d l i n e . I n v 3 , t h e < c o d e > p h p - s d k - b i n a r y - t o o l s < / c o d e > d e p e n d e n c y h a s b e e n c o m p l e t e l y r e m o v e d . v 3 n o w m a n a g e s i t s o w n < s t r o n g > M S Y S 2 < / s t r o n g > e n v i r o n m e n t t o s u p p o r t a u t o t o o l s - b a s e d l i b r a r y b u i l d s o n W i n d o w s . R u n < c o d e > s p c d o c t o r - - i n s t a l l < / c o d e > t o d o w n l o a d a n d c o n f i g u r e M S Y S 2 a u t o m a t i c a l l y . < / p > < p > I f y o u n e e d t o p o i n t t o a c u s t o m M S Y S 2 i n s t a l l a t i o n , s e t t h e < c o d e > S P C _ M S Y S 2 _ 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 t o t h e < c o d e > m s y s 6 4 < / c o d e > d i r e c t o r y ( e . g . < c o d e > C : \ \ m s y s 6 4 < / c o d e > ) . V i s u a l S t u d i o i s n o w a u t o - d e t e c t e d b y t h e t o o l c h a i n — n o m a n u a l v e r s i o n f l a g n e e d e d . < / 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 " > M i g r a t i n g f r o m v 2 < / p > < p > v 2 r e l i e d o n < c o d e > p h p - s d k - b i n a r y - t o o l s < / c o d e > a n d r e q u i r e d < c o d e > - - w i t h - s d k - b i n a r y - d i r < / c o d e > a n d < c o d e > - - v s - v e r < / c o d e > o n e v e r y b u i l d i n v o c a t i o n . I n v 3 t h e s e o p t i o n s a r e g o n e . R e m o v e t h e m f r o m a l l C I s c r i p t s a n d r u n < c o d e > s p c d o c t o r - - i n s t a l l < / c o d e > o n c e t o s e t u p t h e W i n d o w s b u i l d e n v i r o n m e n t . < / p > < / d i v > < h 2 i d = " r e n a m e d - d e p r e c a t e d - o p t i o n s " t a b i n d e x = " - 1 " > R e n a m e d / D e p r e c a t e d O p 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 = " # r e n a m e d - d e p r e c a t e d - o p 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 “ R e n a m e d / D e p r e c a t e d O p t i o n s ” " > < / a > < / h 2 > < p > T h e f o l l o w i n g o p t i o n s h a v e b e e n r e n a m e d . T h e o l d n a m e s a r e a c c e p t e d w h e r e n o t e d , b u t y o u s h o u l d u p d a t e y o u r s c r i p t s . < / p > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > v 2 O p t i o n < / t h > < t h > v 3 O p t i o n < / t h > < t h > S t a t u s < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > - - p r e f e r - p r e - b u i l t < / c o d e > < / t d > < t d > < c o d e > - - p r e f e r - b i n a r y < / c o d e > / < c o d e > - p < / c o d e > < / t d > < t d > O l d n a m e k e p t a s a d e p r e c a t e d a l i a s < / t d > < / t r > < t r > < t d > < c o d e > - - w i t h - l i b s = & l t ; l i s t & g t ; < / c o d e > < / t d > < t d > < c o d e > - - w i t h - p a c k a g e s = & l t ; l i s t & g t ; < / c o d
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 ; " > b u i l d < / 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 ; " > c u r l , g d < / 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 ; " > - - w i t h - l i b s = < / 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 ; 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 ; " > - L < / 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 ; " > - E < / 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;" > # v3 < / 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 ; " > b u i l d < / 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 ; " > c u r l , g d < / 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 ; " > - - w i t h - p a c k a g e s = < / 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 ; 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 ; " > - - w i t h - s u g g e s t s < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " c h a n g e d - b u i l d - c o m m a n d - b e h a v i o u r " t a b i n d e x = " - 1 " > C h a n g e d < c o d e > b u i l d < / c o d e > C o m m a n d B e h a v i o u r < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # c h a n g e d - b u i l d - c o m m a n d - b e h a v i o u r " a r i a - l a b e l = " P e r m a l i n k t o “ C h a n g e d b u i l d C o m m a n d B e h a v i o u r ” " > < / a > < / h 2 > < p > T h e < c o d e > b u i l d < / c o d e > c o m m a n d ( a l i a s : < c o d e > b u i l d : p h p < / c o d e > ) s t i l l w o r k s . H o w e v e r , v 3 a l s o p r o v i d e s < s t r o n g > d e d i c a t e d s i n g l e - t a r g e t c o m m a n d s < / s t r o n g > t h a t d o n o t r e q u i r e S A P I s e l e c t i o n f l a g s : < / p > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > v 2 < / t h > < t h > v 3 E q u i v a l e n t < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > s p c b u i l d e x t s - - b u i l d - c l i < / c o d e > < / t d > < t d > < c o d e > s p c b u i l d : p h p - c l i e x t s < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > s p c b u i l d e x t s - - b u i l d - f p m < / c o d e > < / t d > < t d > < c o d e > s p c b u i l d : p h p - f p m e x t s < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > s p c b u i l d e x t s - - b u i l d - c g i < / c o d e > < / t d > < t d > < c o d e > s p c b u i l d : p h p - c g i e x t s < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > s p c b u i l d e x t s - - b u i l d - m i c r o < / c o d e > < / t d > < t d > < c o d e > s p c b u i l d : p h p - m i c r o e x t s < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > s p c b u i l d e x t s - - b u i l d - e m b e d < / c o d e > < / t d > < t d > < c o d e > s p c b u i l d : p h p - e m b e d e x t s < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > s p c b u i l d e x t s - - b u i l d - f r a n k e n p h p < / c o d e > < / t d > < t d > < c o d e > s p c b u i l d : f r a n k e n p h p e x t s < / c o d e > < / t d > < / t r > < / t b o d y > < / t a b l e > < p > U s e < c o d e > b u i l d : p h p < / c o d e > w h e n y o u n e e d t o b u i l d m u l t i p l e S A P I s i n o n e p a s s ( t h e < c o d e > - - b u i l d - * < / c o d e > f l a g s r e m a i n v a l i d t h e r e ) . < / p > < h 3 i d = " a u t o m a t i c - d o w n l o a d - i n - b u i l d - c o m m a n d s " t a b i n d e x = " - 1 " > A u t o m a t i c D o w n l o a d i n B u i l d C o m m a n d s < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # a u t o m a t i c - d o w n l o a d - i n - b u i l d - c o m m a n d s " a r i a - l a b e l = " P e r m a l i n k t o “ A u t o m a t i c D o w n l o a d i n B u i l d C o m m a n d s ” " > < / a > < / h 3 > < p > I n v 3 , a l l < c o d e > b u i l d : * < / c o d e > c o m m a n d s a u t o m a t i c a l l y d o w n l o a d a n y m i s s i n g d e p e n d e n c i e s b e f o r e b u i l d i n g . Y o u n o l o n g e r n e e d t o r u n < c o d e > s p c d o w n l o a d < / c o d e > a s a s e p a r a t e s t e p : < / 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 ; " > # v 2 — t w o s t e p s r e q u i r e d < / 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 ; " > d o w n l o a d < / 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 ; " > - - f o r - e x t e n s i o n s = c u r l , g d < / 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 ; " > b u i l d < / 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 ; " > c u r l , g d < / 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 >
< 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;" > # v3 — one step is enough < / 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 ; " > b u i l d : p h p - 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > c u r l , g d < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > T o o p t o u t o f t h e a u t o m a t i c d o w n l o a d ( f o r e x a m p l e i n C I w h e r e s o u r c e s a r e p r e - c a c h e d ) , p a s s < c o d e > - - n o - d o w n l o a d < / c o d 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 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 - 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > c u r l , g d < / 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 o - d o w n l o a d < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " c h a n g e d - d o w n l o a d - c o m m a n d - o p t i o n s " t a b i n d e x = " - 1 " > C h a n g e d < c o d e > d o w n l o a d < / c o d e > C o m m a n d O p 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 = " # c h a n g e d - d o w n l o a d - c o m m a n d - o p 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 “ C h a n g e d d o w n l o a d C o m m a n d O p t i o n s ” " > < / a > < / h 2 > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > v 2 < / t h > < t h > v 3 < / t h > < t h > N o t e s < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > - - p r e f e r - p r e - b u i l t < / c o d e > < / t d > < t d > < c o d e > - - p r e f e r - b i n a r y < / c o d e > / < c o d e > - p < / c o d e > < / t d > < t d > D e p r e c a t e d a l i a s k e p t < / t d > < / t r > < t r > < t d > < c o d e > - - w i t h - l i b s < / c o d e > < / t d > < t d > < c o d e > - - f o r - l i b s < / c o d e > < / t d > < t d > S e p a r a t e f r o m p a c k a g e s < / t d > < / t r > < t r > < t d > < e m > ( n o e q u i v a l e n t ) < / e m > < / t d > < t d > < c o d e > - - f o r - p a c k a g e s < / c o d e > < / t d > < t d > U n i f i e d p a c k a g e f i l t e r < / t d > < / t r > < t r > < t d > < e m > ( n o e q u i v a l e n t ) < / e m > < / t d > < t d > < c o d e > - - p a r a l l e l < / c o d e > / < c o d e > - P < / c o d e > < / t d > < t d > P a r a l l e l d o w n l o a d s < / t d > < / t r > < t r > < t d > < e m > ( n o e q u i v a l e n t ) < / e m > < / t d > < t d > < c o d e > - - r e t r y < / c o d e > / < c o d e > - R < / c o d e > < / t d > < t d > R e t r y o n f a i l u r e < / t d > < / t r > < / t b o d y > < / t a b l e > < h 2 i d = " r e m o v e d - d e v - c o m m a n d s " t a b i n d e x = " - 1 " > R e m o v e d D e v C o m m a n d s < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # r e m o v e d - d e v - c o m m a n d s " a r i a - l a b e l = " P e r m a l i n k t o “ R e m o v e d D e v C o m m a n d s ” " > < / a > < / h 2 > < p > T h e s e d e v e l o p m e n t u t i l i t y c o m m a n d s h a v e b e e n r e m o v e d o r c o n s o l i d a t e d : < / p > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > v 2 C o m m a n d < / t h > < t h > v 3 R e p l a c e m e n t < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > d e v : e x t e n s i o n s < / c o d e > / < c o d e > l i s t - e x t < / c o d e > < / t d > < t d > < c o d e > s p c d e v : i n f o & l t ; p a c k a g e & g t ; < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > d e v : e x t - v e r s i o n < / c o d e > / < c o d e > d e v : e x t - v e r < / c o d e > < / t d > < t d > < c o d e > s p c d e v : i n f o & l t ; p a c k a g e & g t ; < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > d e v : l i b - v e r s i o n < / c o d e > / < c o d e > d e v : l i b - v e r < / c o d e > < / t d > < t d > < c o d e > s p c d e v : i n f o & l t ; p a c k a g e & g t ; < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > d e v : p h p - v e r s i o n < / c o d e > / < c o d e > d e v : p h p - v e r < / c o d e > < / t d > < t d > < c o d e > s p c d e v : i n f o p h p - s r c < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > d e v : g e n - e x t - d e p - d o c s < / c o d e > + < c o d e > d e v : g e n - l i b - d e p - d o c s < / c o d e > < / t d > < t d > < c o d e > s p c d e v : g e n - d e p s - d a t a < / c o d e > < / t d > < / t r > < / t b o d y > < / t a b l e > < h 2 i d = " r e n a m e d - d e v - c o m m a n d s " t a b i n d e x = " - 1 " > R e n a m e d D e v C o m m a n d s < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # r e n a m e d - d e v - c o m m a n d s " a r i a - l a b e l = " P e r m a l i n k t o “ R e n a m e d D e v C o m m a n d s ” " > < / a > < / h 2 > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > v 2 < / t h > < t h > v 3 < / t h > < t h > N o t e s < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > d e v : s o r t - c o n f i g < / c o d e > / < c o d e > s o r t - c o n f i g < / c o d e > < / t d > < t d > < c o d e > d e v : l i n t - c o n f i g < / c o d e > < / t d > < t d > O l d a l i a s s t i l l a c c e p t e d < / t d > < / t r > < / t b o d y > < / t a b l e > < h 2 i d = " n e w - c o m m a n d s - i n - v 3 " t a b i n d e x = " - 1 " > N e w C o m m a n d s i n v 3 < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # n e w - c o m m a n d s - i n - v 3 " a r i a - l a b e l = " P e r m a l i n k t o “ N e w C o m m a n d s i n v 3 ” " > < / a > < / h 2 > < p > T h e s e c o m m a n d s a r e n e w i n v 3 w i t h n o v 2 e q u i v a l e n t : < / p > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > C o m m a n d < / t h > < t h > D e s c r i p t i o n < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > s p c r e s e t < / c o d e > < / t d > < t d > C l e a n < c o d e > b u i l d r o o t / < / c o d e > a n d < c o d e > s o u r c e / < / c o d e > d i r e c t o r i e s < / t d > < / t r > < t r > < t d > < c o d e > s p c c h e c k - u p d a t e < / c o d e > < / t d > < t d > C h e c k f o r n e w e r a r t i f a c t v e r s i o n s < / t d > < / t r > < t r > < t d > < c o d e > s p c b u i l d : p h p - c l i < / c o d e > < / t d > < t d > B u i l d C L I S A P I ( n o f l a g s n e e d e d ) < / t d > < / t r > < t r > < t d > < c o d e > s p c b u i l d : p h p - f p m < / c o d e > < / t d > < t d > B u i l d P H P - F P M ( n o f l a g s n e e d e d ) < / t d > < / t r > < t r > < t d > < c o d e > s p c b u i l d : p h p - c g i
< span class = "line" > < span style = "--shiki-light:#11782a;--shiki-dark:#85E89D;" > build - options < / 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:#11782a;--shiki-dark:#85E89D;" > with - added - patch < / 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:#24292E;--shiki-dark:#E1E4E8;" > - < / 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 y - p a t c h . p h p < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 3 i d = " l i b s - → - p a c k a g e s - b o t h - w o r k " t a b i n d e x = " - 1 " > < c o d e > l i b s < / c o d e > → < c o d e > p a c k a g e s < / c o d e > ( b o t h w o r k ) < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # l i b s - → - p a c k a g e s - b o t h - w o r k " a r i a - l a b e l = " P e r m a l i n k t o “ l i b s → p a c k a g e s ( b o t h w o r k ) ” " > < / a > < / h 3 > < p > T h e t o p - l e v e l < c o d e > l i b s < / c o d e > f i e l d s t i l l w o r k s . T h e p r e f e r r e d v 3 f i e l d n a m e i s < c o d e > p a c k a g e s < / c o d e > , w h i c h i s a s u p e r s e t c o v e r i n g l i b r a r i e s a n d o t h e r t o o l p a c k a g e s : < / p > < d i v c l a s s = " l a n g u a g e - y a m l " > < 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 " > y a m l < / 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 ; " > # v 2 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#11782a;--shiki-dark:#85E89D;" > libs < / 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 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 g h t t p 2 , l i b l z 4 < / 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:#62687b;--shiki-dark:#818e99;" > # v3 ( preferred ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#11782a;--shiki-dark:#85E89D;" > packages < / 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 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 g h t t p 2 , l i b l z 4 < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " e n v - i n i - v a r i a b l e - r e n a m e s " t a b i n d e x = " - 1 " > < c o d e > e n v . i n i < / c o d e > V a r i a b l e R e n a m e s < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # e n v - i n i - v a r i a b l e - r e n a m e s " a r i a - l a b e l = " P e r m a l i n k t o “ e n v . i n i V a r i a b l e R e n a m e s ” " > < / a > < / h 2 > < p > I f y o u c u s t o m i s e < c o d e > c o n f i g / e n v . i n i < / c o d e > o r e x p o r t e n v i r o n m e n t v a r i a b l e s i n C I , u p d a t e t h e f o l l o w i n g n a m e s : < / p > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > v 2 V a r i a b l e < / t h > < t h > v 3 V a r i a b l e < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > S P C _ L I N U X _ D E F A U L T _ C C < / c o d e > < / t d > < t d > < c o d e > S P C _ D E F A U L T _ C C < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > S P C _ L I N U X _ D E F A U L T _ C X X < / c o d e > < / t d > < t d > < c o d e > S P C _ D E F A U L T _ C X X < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > S P C _ L I N U X _ D E F A U L T _ A R < / c o d e > < / t d > < t d > < c o d e > S P C _ D E F A U L T _ A R < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > S P C _ L I N U X _ D E F A U L T _ L D < / c o d e > < / t d > < t d > < c o d e > S P C _ D E F A U L T _ L D < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > S P C _ L I B C < / c o d e > < / t d > < t d > < c o d e > S P C _ T A R G E T < / c o d e > < / t d > < / t r > < / t b o d y > < / t a b l e > < p > < c o d e > S P C _ T A R G E T < / c o d e > u s e s a n e w f o r m a t t h a t e n c o d e s b o t h a r c h i t e c t u r e a n d l i b c i n a s i n g l e s t r i n g , f o r e x a m p l e : < / p > < t a b l e t a b i n d e x = " 0 " > < t h e a d > < t r > < t h > v 2 < / t h > < t h > v 3 < / t h > < / t r > < / t h e a d > < t b o d y > < t r > < t d > < c o d e > S P C _ L I B C = m u s l < / c o d e > < / t d > < t d > < c o d e > S P C _ T A R G E T = x 8 6 _ 6 4 - l i n u x - m u s l < / c o d e > < / t d > < / t r > < t r > < t d > < c o d e > S P C _ L I B C = g n u < / c o d e > < / t d > < t d > < c o d e > S P C _ T A R G E T = x 8 6 _ 6 4 - l i n u x - g n u . 2 . 1 7 < / c o d e > < / t d > < / t r > < / t b o d y > < / t a b l e > < p > N e w l o g g i n g v a r i a b l e s w e r e a l s o a d d e d ( < c o d e > S P C _ E N A B L E _ L O G _ F I L E < / c o d e > , < c o d e > S P C _ L O G S _ D I R < / c o d e > , < c o d e > S P C _ P R E S E R V E _ L O G S < / c o d e > ) . R e f e r t o < a h r e f = " / e n / g u i d e / e n v - v a r s . h t m l " > E n v i r o n m e n t V a r i a b l e s < / a > f o r d e t a i l s . < / p > ` , 6 1 ) ] ] ) } 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 } ;