2024-07-01 02:35:17 +00:00
import { _ as s , c as i , o as e , a1 as a } from "./chunks/framework.CszIUXhs.js" ; const g = JSON . parse ( '{"title":"Build (Linux, macOS, FreeBSD)","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/manual-build.md","filePath":"en/guide/manual-build.md"}' ) , n = { name : "en/guide/manual-build.md" } , t = a ( ` <h1 id="build-linux-macos-freebsd" tabindex="-1">Build (Linux, macOS, FreeBSD) <a class="header-anchor" href="#build-linux-macos-freebsd" aria-label="Permalink to "Build (Linux, macOS, FreeBSD)""> </a></h1><p>This section covers the build process for Linux, macOS, and FreeBSD. If you want to build on Windows, also need to read <a href="./build-on-windows.html">Build on Windows</a>.</p><h3 id="build-locally-using-spc-binary-recommended" tabindex="-1">Build locally (using SPC binary) (recommended) <a class="header-anchor" href="#build-locally-using-spc-binary-recommended" aria-label="Permalink to "Build locally (using SPC binary) (recommended)""> </a></h3><p>This project provides a binary file of static-php-cli. You can directly download the binary file of the corresponding platform and then use it to build static PHP. Currently, the platforms supported by <code>spc</code> binary are Linux and macOS.</p><p>Here's how to download from self-hosted server:</p><div class="language-bash vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">bash</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;"># Download from self-hosted nightly builds (sync with main branch)</span></span>
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # For Linux x86 _64 < / 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 / 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" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # For Linux aarch64 < / 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 / 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 - a a r c h 6 4 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # macOS x86 _64 ( Intel ) < / 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 / 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 - m a c o s - x 8 6 _ 6 4 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # macOS aarch64 ( Apple ) < / 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 / 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 - m a c o s - a a r c h 6 4 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Windows ( x86 _64 , win10 build 17063 or later ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > curl . exe < / 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 . e x 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 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 - w i n d o w s - x 6 4 . e x e < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Add execute perm ( Linux and macOS only ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > chmod < / 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 ; " > + x < / 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 >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Run ( Linux and macOS ) < / 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 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - v e r s i o n < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Run ( Windows powershell ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > . < / 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 ; " > s p c . e x 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 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - v e r s i o n < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < b l o c k q u o t e > < p > I f y o u a r e u s i n g t h e p a c k a g e d < c o d e > s p c < / c o d e > b i n a r y , y o u w i l l n e e d t o r e p l a c e t h e l e a d i n g < c o d e > b i n / s p c < / c o d e > w i t h < c o d e > . / s p c < / c o d e > i n a l l t h e c o m m a n d s b e l o w . < / p > < / b l o c k q u o t e > < h 3 i d = " b u i l d - l o c a l l y - u s i n g - s o u r c e - c o d e " t a b i n d e x = " - 1 " > B u i l d l o c a l l y ( u s i n g s o u r c e 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 = " # b u i l d - l o c a l l y - u s i n g - s o u r c e - c o d e " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; B u i l d l o c a l l y ( u s i n g s o u r c e c o d e ) & q u o t ; " > < / a > < / h 3 > < p > I f y o u h a v e p r o b l e m s u s i n g t h e s p c b i n a r y , o r i f y o u n e e d t o m o d i f y t h e s t a t i c - p h p - c l i s o u r c e c o d e , d o w n l o a d s t a t i c - p h p - c l i f r o m t h e s o u r c e c o d e . < / p > < p > C u r r e n t l y , i t s u p p o r t s b u i l d i n g o n m a c O S a n d L i n u x . m a c O S s u p p o r t s t h e l a t e s t v e r s i o n o f t h e o p e r a t i n g s y s t e m a n d t w o a r c h i t e c t u r e s , w h i l e L i n u x s u p p o r t s D e b i a n a n d d e r i v a t i v e d i s t r i b u t i o n s , a s w e l l a s A l p i n e L i n u x . < / p > < p > B e c a u s e t h i s p r o j e c t i t s e l f i s d e v e l o p e d u s i n g P H P , i t i s a l s o n e c e s s a r y t o i n s t a l l P H P o n t h e s y s t e m d u r i n g c o m p i l a t i o n . T h i s p r o j e c t a l s o p r o v i d e s s t a t i c b i n a r y P H P s u i t a b l e f o r t h i s p r o j e c t , w h i c h c a n b e s e l e c t e d a n d u s e d a c c o r d i n g t o a c t u a l s i t u a t i o n s . < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # c l o n e r e p o < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > git < / 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 l o 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 t t p s : / / g i t h u b . c o m / c r a z y w h a l e c c / s t a t i c - p h p - c l i . g i 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 ; " > - - d e p t h = 1 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > cd < / 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 t a t i c - p h p - c l i < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # You need to install the PHP environment first before running Composer and this project . The installation method can be referred to below . < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > composer < / 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 ; " > u p d a t e < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 3 i d = " u s e - s y s t e m - p h p " t a b i n d e x = " - 1 " > U s e S y s t e m P H P < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # u s e - s y s t e m - p h p " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; U s e S y s t e m P H P & q u o t ; " > < / a > < / h 3 > < p > B e l o w a r e s o m e e x a m p l e c o m m a n d s f o r i n s t a l l i n g P H P a n d C o m p o s e r i n t h e s y s t e m . I t i s r e c o m m e n d e d t o s e a r c h f o r t h e s p e c i f i c i n s t a l l a t i o n m e t h o d y o u r s e l f o r a s k t h e A I s e a r c h e n g i n e t o o b t a i n t h e a n s w e r , w h i c h w i l l n o t b e e l a b o r a t e d h e r e . < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # [ m a c O S ] , n e e d i n s t a l l H o m e b r e w f i r s t . S e e h t t p s : / / b r e w . s h / < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Remember change your composer executable path . For M1 / M2 Chip mac , & quot ; / o p t / h o m e b r e w / b i n / & q u o t ; , f o r I n t e l m a c , & q u o t ; / u s r / l o c a l / b i n / & q u o t ; . O r a d d i t t o y o u r o w n p a t h . < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > brew < / 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 ; " > i n s t a l 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B 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 : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > w g e t < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > wget < /span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https:/ / getcomposer . org / download / latest - stable / composer . phar < / 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 ; " > / p a t h / t o / y o u r / b i n / c o m p o s 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 ; " > & a m p ; & a m p ; < / 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 ; " > c h m o 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 ; " > + x < / 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 / y o u r / b i n / c o m p o s e r < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # [ Debian ] , you need to make sure your php version & gt ; = 8.1 and composer & gt ; = 2.0 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > sudo < / 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 ; " > a p 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 ; " > i n s t a l 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > 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 o m p o s 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 : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p h p - t o k e n i z e r < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # [ Alpine ] < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > apk < / 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 ; " > a d 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 ; " > b a s h < / 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 ; " > f i l 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 ; " > w 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 : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > x z < / 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 8 1 < / 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 8 1 - c o m m o 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 h p 8 1 - p c n t 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p h p 8 1 - t o k e n i z 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 : # 0 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p h p 8 1 - 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p h p 8 1 - p o s i x < / 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 8 1 - x m 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > c o m p o s e r < / 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 " > T I P < / p > < p > C u r r e n t l y , s o m e v e r s i o n s o f U b u n t u i n s t a l l o l d e r P H P v e r s i o n s , s o n o i n s t a l l a t i o n c o m m a n d s a r e p r o v i d e d . I f n e c e s s a r y , i t i s r e c o m m e n d e d t o a d d s o f t w a r e s o u r c e s s u c h a s p p a f i r s t , a n d t h e n i n s t a l l t h e l a t e s t v e r s i o n o f P H P a n d t o k e n i z e r , X M L , a n d p h a r e x t e n s i o n s . < / p > < p > O l d e r v e r s i o n s o f D e b i a n m a y h a v e a n o l d e r ( & l t ; = 7 . 4 ) v e r s i o n o f P H P i n s t a l l e d b y d e f a u l t , i t i s r e c o m m e n d e d t o u p g r a d e D e b i a n f i r s t . < / p > < / d i v > < h 3 i d = " u s e - d o c k e r " t a b i n d e x = " - 1 " > U s e D o c k e r < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # u s e - d o c k e r " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; U s e D o c k e r & q u o t ; " > < / a > < / h 3 > < p > I f y o u d o n & # 3 9 ; t w a n t t o i n s t a l l P H P a n d C o m p o s e r r u n t i m e e n v i r o n m e n t o n y o u r s y s t e m , y o u c a n u s e t h e b u i l t - i n D o c k e r e n v i r o n m e n t b u i l d s c r i p t . < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # T o u s e d i r e c t l y , r e p l a c e \ ` b i n / s p c \ ` w i t h \ ` b i n / s p c - a l p i n e - d o c k e r \ ` i n a l l u s e d c o m m a n d s < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / spc - alpine - docker < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > T h e f i r s t t i m e t h e c o m m a n d i s e x e c u t e d , < c o d e > d o c k e r b u i l d < / c o d e > w i l l b e u s e d t o b u i l d a D o c k e r i m a g e . T h e d e f a u l t b u i l t D o c k e r i m a g e i s t h e < c o d e > x 8 6 _ 6 4 < / c o d e > a r c h i t e c t u r e , a n d t h e i m a g e n a m e i s < c o d e > c w c c - s p c - x 8 6 _ 6 4 < / c o d e > . < / p > < p > I f y o u w a n t t o b u i l d < c o d e > a a r c h 6 4 < / c o d e > s t a t i c - p h p - c l i i n < c o d e > x 8 6 _ 6 4 < / c o d e > e n v i r o n m e n t , y o u c a n u s e q e m u t o e m u l a t e t h e a r m i m a g e t o r u n D o c k e r , b u t t h e s p e e d w i l l b e v e r y s l o w . U s e c o m m a n d : < c o d e > S P C _ U S E _ A R C H = a a r c h 6 4 b i n / s p c - a l p i n e - d o c k e r < / c o d e > . < / p > < p > I f i t p r o m p t s t h a t s u d o i s r e q u i r e d t o r u n a f t e r r u n n i n g , e x e c u t e t h e f o l l o w i n g c o m m a n d o n c e t o g r a n t s t a t i c - p h p - c l i p e r m i s s i o n t o e x e c u t e s u d o : < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 : # D 7 3 A 4 9 ; - - s h i k i - d a r k : # F 9 7 5 8 3 ; " > e x p o r t < / 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 C _ U S E _ S U D O < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # D 7 3 A 4 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 : # 2 4 2 9 2 E ; - - s h i k i - d a r k : # E 1 E 4 E 8 ; " > y e s < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 3 i d = " u s e - p r e c o m p i l e d - s t a t i c - p h p - b i n a r i e s " t a b i n d e x = " - 1 " > U s e P r e c o m p i l e d S t a t i c P H P B i n a r i e s < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # u s e - p r e c o m p i l e d - s t a t i c - p h p - b i n a r i e s " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; U s e P r e c o m p i l e d S t a t i c P H P B i n a r i e s & q u o t ; " > < / a > < / h 3 > < p > I f y o u d o n & # 3 9 ; t w a n t t o u s e D o c k e r a n d i n s t a l l P H P i n t h e s y s t e m , y o u c a n d i r e c t l y d o w n l o a d t h e p h p b i n a r y c l i p r o g r a m c o m p i l e d b y t h i s p r o j e c t i t s e l f . T h e u s a g e p r o c e s s i s a s f o l l o w s : < / p > < p > D e p l o y t h e e n v i r o n m e n t u s i n g t h e c o m m a n d , t h e c o m m a n d w i l l d o w n l o a d a s t a t i c p h p - c l i b i n a r y f r o m < a h r e 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 / " t a r g e t = " _ b l a n k " r e l = " n o r e f e r r e r " > s e l f - h o s t e d s e r v e r < / a > . N e x t , i t w i l l a u t o m a t i c a l l y d o w n l o a d C o m p o s e r f r o m < a h r e f = " h t t p s : / / g e t c o m p o s e r . o r g / d o w n l o a d / l a t e s t - s t a b l e / c o m p o s e r . p h a r " t a r g e t = " _ b l a n k " r e l = " n o r e f e r r e r " > g e t c o m p o s e r < / a > o r < a h r e f = " h t t p s : / / m i r r o r s . a l i y u n . c o m / c o m p o s e r / c o m p o s e r . p h a r " t a r g e t = " _ b l a n k " r e l = " n o r e f e r r e r " > A l i y u n m i r r o r < / a > . < / p > < 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 " > T I P < / p > < p > U s i n g p r e c o m p i l e d s t a t i c P H P b i n a r i e s i s c u r r e n t l y o n l y s u p p o r t e d o n L i n u x a n d m a c O S . T h e F r e e B S D e n v i r o n m e n t i s c u r r e n t l y n o t s u p p o r t e d d u e t o t h e l a c k o f a n a u t o m a t e d b u i l d e n v i r o n m e n t . < / p > < / d i v > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 ; " > b i n / s e t u p - r u n t i m e < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # For users with special network environments such as mainland China , you can use mirror sites ( aliyun ) to speed up the download speed < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / setup - runtime < / 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 i r r o 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > c h i n a < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > T h i s s c r i p t w i l l d o w n l o a d t w o f i l e s i n t o t a l : < c o d e > b i n / p h p < / c o d e > a n d < c o d e > b i n / c o m p o s e r < / c o d e > . A f t e r t h e d o w n l o a d i s c o m p l e t e , t h e r e a r e t w o w a y s t o u s e i t : < / p > < o l > < l i > A d d t h e < c o d e > b i n / < / c o d e > d i r e c t o r y t o t h e P A T H : < c o d e > e x p o r t P A T H = & q u o t ; / p a t h / t o / y o u r / s t a t i c - p h p - c l i / b i n : $ P A T H & q u o t ; < / c o d e > , a f t e r a d d i n g t h e p a t h , i t i s e q u i v a l e n t t o i n s t a l l i n g P H P i n t h e s y s t e m , y o u c a n d i r e c t l y U s e c o m m a n d s s u c h a s < c o d e > c o m p o s e r < / c o d e > , < c o d e > p h p - v < / c o d e > , o r d i r e c t l y u s e < c o d e > b i n / s p c < / c o d e > . < / l i > < l i > D i r e c t c a l l , s u c h a s e x e c u t i n g s t a t i c - p h p - c l i c o m m a n d : < c o d e > b i n / p h p b i n / s p c - - h e l p < / c o d e > , e x e c u t i n g C o m p o s e r : < c o d e > b i n / p h p b i n / c o m p o s e r u p d a t e < / c o d e > . < / l i > < / o l > < h 2 i d = " c o m m a n d - d o w n l o a d " t a b i n d e x = " - 1 " > C o m m a n d - d o w n l o a d < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # c o m m a n d - d o w n l o a d " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; C o m m a n d - d o w n l o a d & q u o t ; " > < / a > < / h 2 > < p > U s e t h e c o m m a n d < c o d e > b i n / s p c d o w n l o a d < / c o d e > t o d o w n l o a d t h e s o u r c e c o d e r e q u i r e d f o r c o m p i l a t i o n , i n c l u d i n g p h p - s r c a n d t h e s o u r c e c o d e o f v a r i o u s d e p e n d e n t l i b r a r i e s . < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # D o w n l o a d a l l d e p e n d e n c i e s < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > - - a l l < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Download all dependent packages , and specify the main version of PHP to download , optional : 7.3 , 7.4 , 8.0 , 8.1 , 8.2 , 8.3 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > - - a l 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 ; " > - - w i t h - p h p = 8 . 2 < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Show download progress bar while downloading ( curl ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > - - a l 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 ; " > - - d e b u g < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Delete old download data < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > - - c l e a n < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Download specified dependencies < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > p h p - s r c , m i c r o , z s t d , e x t - z s t d < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Download only extensions and libraries to be compiled ( use extensions , including suggested libraries ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 = o p e n s s l , s w o o l e , z i p , p c n t l , z s t d < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2024-07-13 17:20:59 +00:00
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Download resources , prefer to download dependencies with pre - built packages ( reduce the time to compile dependencies ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 = < / 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 , p c n t l , x m l , m b s t r i n 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 ; " > - - p r e f e r - p r e - b u i l t < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
2024-07-01 02:35:17 +00:00
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Download only the extensions and dependent libraries to be compiled ( use extensions , excluding suggested libraries ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 = o p e n s s l , s w o o l e , z i p , p c n t 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 ; " > - - w i t h o u t - s u g g e s t i o n s < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Download only libraries to be compiled ( use libraries , including suggested libraries and required libraries , can use -- for - extensions together ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 - l i b s = l i b l z 4 , l i b e v e n 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 ; " > - - f o r - e x t e n s i o n s = p c n t l , r a r , x m l < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Download only libraries to be compiled ( use libraries , excluding suggested libraries ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 - l i b s = l i b l z 4 , l i b e v e n 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 o u t - s u g g e s t i o n s < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # When downloading sources , ignore some source caches ( always force download , e . g . switching PHP version ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 , p c n t l , x m 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 ; " > - - i g n o r e - c a c h e - s o u r c e s = p h p - s r 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 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 h p = 8 . 3 < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Set retry times ( default is 0 ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > - - a l 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 ; " > - - r e t r y = 2 < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > I f t h e n e t w o r k i n y o u r a r e a i s n o t g o o d , o r t h e s p e e d o f d o w n l o a d i n g t h e d e p e n d e n c y p a c k a g e i s t o o s l o w , y o u c a n d o w n l o a d < c o d e > d o w n l o a d . z i p < / c o d e > w h i c h i s p a c k a g e d r e g u l a r l y e v e r y w e e k f r o m G i t H u b A c t i o n , a n d u s e t h e c o m m a n d t o d i r e c t l y u s e t h e z i p a r c h i v e a s a d e p e n d e n c y . < / p > < p > D e p e n d e n t p a c k a g e s c a n b e d o w n l o a d e d l o c a l l y f r o m < a h r e f = " h t t p s : / / g i t h u b . c o m / s t a t i c - p h p / s t a t i c - p h p - c l i - h o s t e d / a c t i o n s / w o r k f l o w s / d o w n l o a d - c a c h e . y m l " t a r g e t = " _ b l a n k " r e l = " n o r e f e r r e r " > A c t i o n < / a > . E n t e r A c t i o n a n d s e l e c t t h e l a t e s t W o r k f l o w t h a t h a s b e e n s u c c e s s f u l l y r u n , a n d d o w n l o a d < c o d e > d o w n l o a d - f i l e s - x . y < / 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 v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 ; " > b i n / 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 ; " > 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 r o m - z i p = / p a t h / t o / y o u r / d o w n l o a d . z i p < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > I f a s o u r c e c a n n o t b e d o w n l o a d e d a l l t h e t i m e , o r y o u n e e d t o d o w n l o a d s o m e s p e c i f i c v e r s i o n o f t h e p a c k a g e , s u c h a s d o w n l o a d i n g t h e b e t a v e r s i o n o f P H P , t h e o l d v e r s i o n o f t h e l i b r a r y , e t c . , y o u c a n u s e t h e p a r a m e t e r < c o d e > - U < / c o d e > o r < c o d e > - - c u s t o m - u r l < / c o d e > t o r e w r i t e t h e d o w n l o a d l i n k , M a k e t h e d o w n l o a d e r f o r c e t h e l i n k y o u s p e c i f y t o d o w n l o a d p a c k a g e s f r o m t h i s s o u r c e . T h e m e t h o d o f u s e i s < c o d e > { s o u r c e - n a m e } : { u r l } < / c o d e > , w h i c h c a n r e w r i t e t h e d o w n l o a d U R L s o f m u l t i p l e l i b r a r i e s a t t h e s a m e t i m e . A l s o , i t i s a v a i l a b l e w h e n d o w n l o a d i n g w i t h t h e < c o d e > - - f o r - e x t e n s i o n s < / c o d e > o p t i o n . < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # S p e c i f y i n g t o d o w n l o a d a b e t a v e r s i o n o f P H P 8 . 3 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > - - a l 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 ; " > - U < / 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 ; p h p - s r c : h t t p s : / / d o w n l o a d s . p h p . n e t / ~ e r i c / p h p - 8 . 3 . 0 b e t a 1 . t a r . g z & q u o t ; < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Specifying to download an older version of the curl library < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > - - a l 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 ; " > - U < / 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 : h t t p s : / / c u r l . s e / d o w n l o a d / c u r l - 7 . 8 8 . 1 . t a r . g z & q u o t ; < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " c o m m a n d - d o c t o r " t a b i n d e x = " - 1 " > C o m m a n d - d o c t o r < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # c o m m a n d - d o c t o r " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; C o m m a n d - d o c t o r & q u o t ; " > < / a > < / h 2 > < p > I f y o u c a n r u n < c o d e > b i n / s p c < / c o d e > n o r m a l l y b u t c a n n o t c o m p i l e s t a t i c P H P o r d e p e n d e n t l i b r a r i e s n o r m a l l y , y o u c a n r u n < c o d e > b i n / s p c d o c t o r < / c o d e > f i r s t t o c h e c k w h e t h e r t h e s y s t e m i t s e l f l a c k s d e p e n d e n c i e s . < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # Q u i c k c h e c k < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 c t o r < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Quickly check and fix when it can be automatically repaired ( use package management to install dependent packages , only support the above - mentioned operating systems and distributions ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 c t o 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 ; " > - - a u t o - f i x < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " c o m m a n d - b u i l d " t a b i n d e x = " - 1 " > C o m m a n d - 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 = " # c o m m a n d - b u i l d " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; C o m m a n d - b u i l d & q u o t ; " > < / a > < / h 2 > < p > U s e t h e b u i l d c o m m a n d t o s t a r t b u i l d i n g t h e s t a t i c p h p b i n a r y . B e f o r e e x e c u t i n g t h e < c o d e > b i n / s p c b u i l d < / c o d e > c o m m a n d , b e s u r e t o u s e t h e < c o d e > d o w n l o a d < / c o d e > c o m m a n d t o d o w n l o a d s o u r c e s . I t i s r e c o m m e n d e d t o u s e < c o d e > d o c t o r < / c o d e > t o c h e c k t h e e n v i r o n m e n t . < / p > < h 3 i d = " b a s i c - b u i l d " t a b i n d e x = " - 1 " > B a s i c 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 a s i c - b u i l d " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; B a s i c b u i l d & q u o t ; " > < / a > < / h 3 > < p > Y o u n e e d t o g o t o < a h r e f = " . / e x t e n s i o n s . h t m l " > E x t e n s i o n L i s t < / a > o r < a h r e f = " . / c l i - g e n e r a t o r . h t m l " > C o m m a n d G e n e r a t o r < / a > t o s e l e c t t h e e x t e n s i o n y o u w a n t t o a d d , a n d t h e n u s e t h e c o m m a n d < c o d e > b i n / s p c b u i l d < / c o d e > t o c o m p i l e . Y o u n e e d t o s p e c i f y a c o m p i l a t i o n t a r g e t , c h o o s e f r o m t h e f o l l o w i n g p a r a m e t e r s : < / p > < u l > < l i > < c o d e > - - b u i l d - c l i < / c o d e > : B u i l d a c l i s a p i ( c o m m a n d l i n e i n t e r f a c e , w h i c h c a n e x e c u t e P H P c o d e o n t h e c o m m a n d l i n e ) < / l i > < l i > < c o d e > - - b u i l d - f p m < / c o d e > : B u i l d a f p m s a p i ( p h p - f p m , u s e d i n c o n j u n c t i o n w i t h o t h e r t r a d i t i o n a l f p m a r c h i t e c t u r e s o f t w a r e s u c h a s n g i n x ) < / l i > < l i > < c o d e > - - b u i l d - m i c r o < / c o d e > : B u i l d a m i c r o s a p i ( u s e d t o b u i l d a s t a n d a l o n e e x e c u t a b l e b i n a r y c o n t a i n i n g P H P c o d e ) < / l i > < l i > < c o d e > - - b u i l d - e m b e d < / c o d e > : B u i l d a n e m b e d s a p i ( u s e d t o e m b e d i n t o o t h e r C l a n g u a g e p r o g r a m s ) < / l i > < l i > < c o d e > - - b u i l d - a l l < / c o d e > : b u i l d a l l a b o v e s a p i < / l i > < / u l > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # C o m p i l e P H P w i t h b c m a t h , c u r l , o p e n s s l , f t p , p o s i x , p c n t l e x t e n s i o n s , t h e c o m p i l a t i o n t a r g e t i s c l i < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > b c m a t h , c u r l , o p e n s s l , f t p , p o s i x , p c n t 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 ; " > - - b u i l d - c l i < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Compile PHP with phar , curl , posix , pcntl , tokenizer extensions , compile target is micro < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > p h a r , c u r l , p o s i x , p c n t l , t o k e n i z 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 : # 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 > < 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 " > T I P < / p > < p > I f y o u n e e d t o r e p e a t e d l y b u i l d a n d d e b u g , y o u c a n d e l e t e t h e < 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 s o t h a t y o u c a n r e - e x t r a c t a n d b u i l d a l l y o u n e e d f r o m t h e d o w n l o a d e d s o u r c e c o d e p a c k a g e : < / p > < d i v c l a s s = " l a n g u a g e - s h e l l v p - a d a p t i v e - t h e m e " > < 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 " > s h e l 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # r e m o v e < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > rm < / 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 ; " > - r f < / 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 r o 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 3 2 F 6 2 ; - - s h i k i - d a r k : # 9 E C B F F ; " > s o u r c e < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # build again < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > b c m a t h , c u r l , o p e n s s l , f t p , p o s i x , p c n t 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 ; " > - - 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 > < / 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 " > T I P < / p > < p > I f y o u w a n t t o b u i l d m u l t i p l e v e r s i o n s o f P H P a n d d o n & # 3 9 ; t w a n t t o b u i l d o t h e r d e p e n d e n t l i b r a r i e s r e p e a t e d l y e a c h t i m e , y o u c a n u s e < c o d e > s w i t c h - p h p - v e r s i o n < / c o d e > t o q u i c k l y s w i t c h t o a n o t h e r v e r s i o n a n d c o m p i l e a f t e r c o m p i l i n g o n e v e r s i o n : < / p > < d i v c l a s s = " l a n g u a g e - s h e l l v p - a d a p t i v e - t h e m e " > < 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 " > s h e l 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # s w i t c h t o 8 . 3 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > s w i t c h - p h p - v e r s i o 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 ; " > 8 . 3 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # build < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > b c m a t h , c u r l , o p e n s s l , f t p , p o s i x , p c n t 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 ; " > - - b u i l d - c l i < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # switch to 8.0 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > s w i t c h - p h p - v e r s i o 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 ; " > 8 . 0 < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # build < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > b c m a t h , c u r l , o p e n s s l , f t p , p o s i x , p c n t 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 ; " > - - 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 > < / d i v > < h 3 i d = " d e b u g " t a b i n d e x = " - 1 " > D e b u g < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # d e b u g " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; D e b u g & q u o t ; " > < / a > < / h 3 > < p > I f y o u e n c o u n t e r p r o b l e m s d u r i n g t h e c o m p i l a t i o n p r o c e s s , o r w a n t t o v i e w e a c h e x e c u t i n g s h e l l c o m m a n d , y o u c a n u s e < c o d e > - - d e b u g < / c o d e > t o e n a b l e d e b u g m o d e a n d v i e w a l l t e r m i n a l l o g s : < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 ; " > b i n / 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 < / 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 s q l n d , p d o _ m y s q 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 ; " > - - b u i l d - a l 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 ; " > - - d e b u g < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 3 i d = " b u i l d - o p t i o n s " t a b i n d e x = " - 1 " > B u i l 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 = " # b u i l 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 & q u o t ; B u i l d O p t i o n s & q u o t ; " > < / a > < / h 3 > < p > D u r i n g t h e c o m p i l a t i o n p r o c e s s , i n s o m e s p e c i a l c a s e s , t h e c o m p i l e r a n d t h e c o n t e n t o f t h e c o m p i l a t i o n d i r e c t o r y n e e d t o b e i n t e r v e n e d . Y o u c a n t r y t o u s e t h e f o l l o w i n g c o m m a n d s : < / p > < u l > < l i > < c o d e > - - c c = X X X < / c o d e > : S p e c i f i e s t h e e x e c u t i o n c o m m a n d o f t h e C l a n g u a g e c o m p i l e r ( L i n u x d e f a u l t < c o d e > m u s l - g c c < / c o d e > o r < c o d e > g c c < / c o d e > , m a c O S d e f a u l t < c o d e > c l a n g < / c o d e > ) < / l i > < l i > < c o d e > - - c x x = X X X < / c o d e > : S p e c i f i e s t h e e x e c u t i o n c o m m a n d o f t h e C + + l a n g u a g e c o m p i l e r ( L i n u x d e f a u l t s t o < c o d e > g + + < / c o d e > , m a c O S d e f a u l t s t o < c o d e > c l a n g + + < / c o d e > ) < / l i > < l i > < c o d e > - - w i t h - c l e a n < / c o d e > : c l e a n u p o l d m a k e f i l e s b e f o r e c o m p i l i n g P H P < / l i > < l i > < c o d e > - - e n a b l e - z t s < / c o d e > : M a k e c o m p i l e d P H P t h r e a d - s a f e v e r s i o n ( d e f a u l t i s N T S v e r s i o n ) < / l i > < l i > < c o d e > - - n o - s t r i p < / c o d e > : D o n o t r u n < c o d e > s t r i p < / c o d e > a f t e r c o m p i l i n g t h e P H P l i b r a r y t o t r i m t h e b i n a r y f i l e t o r e d u c e i t s s i z e ( t h e m a c O S b i n a r y f i l e w i t h o u t t r i m c a n u s e d y n a m i c a l l y l i n k e d t h i r d - p a r t y e x t e n s i o n s ) < / l i > < l i > < c o d e > - - w i t h - l i b s = X X X , Y Y Y < / c o d e > : C o m p i l e t h e s p e c i f i e d d e p e n d e n t l i b r a r y b e f o r e c o m p i l i n g P H P , a n d a c t i v a t e s o m e e x t e n d e d o p t i o n a l f u n c t i o n s ( s u c h a s l i b a v i f o f t h e g d l i b r a r y , e t c . ) < / l i > < l i > < c o d e > - I x x x = y y y < / c o d e > : H a r d c o m p i l e I N I o p t i o n s i n t o P H P b e f o r e c o m p i l i n g ( s u p p o r t m u l t i p l e o p t i o n s , a l i a s i s < c o d e > - - w i t h - h a r d c o d e d - i n i < / c o d e > ) < / l i > < l i > < c o d e > - - w i t h - m i c r o - f a k e - c l i < / c o d e > : W h e n c o m p i l i n g m i c r o , l e t m i c r o & # 3 9 ; s < c o d e > P H P _ S A P I < / c o d e > p r e t e n d t o b e < c o d e > c l i < / c o d e > ( f o r c o m p a t i b i l i t y w i t h s o m e p r o g r a m s t h a t c h e c k < c o d e > P H P _ S A P I < / c o d e > ) < / l i > < l i > < c o d e > - - d i s a b l e - o p c a c h e - j i t < / c o d e > : D i s a b l e o p c a c h e j i t ( e n a b l e d b y d e f a u l t ) < / l i > < l i > < c o d e > - P x x x . p h p < / c o d e > : I n j e c t e x t e r n a l s c r i p t s d u r i n g s t a t i c - p h p - c l i c o m p i l a t i o n ( s e e < s t r o n g > I n j e c t e x t e r n a l s c r i p t s < / s t r o n g > b e l o w f o r d e t a i l s ) < / l i > < l i > < c o d e > - - w i t h o u t - m i c r o - e x t - t e s t < / c o d e > : A f t e r b u i l d i n g m i c r o . s f x , d o n o t t e s t t h e r u n n i n g r e s u l t s o f d i f f e r e n t e x t e n s i o n s i n m i c r o . s f x < / l i > < l i > < c o d e > - - w i t h - s u g g e s t e d - e x t s < / c o d e > : A d d < c o d e > e x t - s u g g e s t s < / c o d e > a s d e p e n d e n c i e s w h e n c o m p i l i n g < / l i > < l i > < c o d e > - - w i t h - s u g g e s t e d - l i b s < / c o d e > : A d d < c o d e > l i b - s u g g e s t s < / c o d e > a s d e p e n d e n c i e s w h e n c o m p i l i n g < / l i > < l i > < c o d e > - - w i t h - u p x - p a c k < / c o d e > : U s e U P X t o r e d u c e t h e s i z e o f t h e b i n a r y f i l e a f t e r c o m p i l a t i o n ( y o u n e e d t o u s e < c o d e > b i n / s p c i n s t a l l - p k g u p x < / c o d e > t o i n s t a l l u p x f i r s t ) < / l i > < / u l > < p > F o r h a r d c o d i n g I N I o p t i o n s , i t w o r k s f o r c l i , m i c r o , e m b e d s a p i . H e r e i s a s i m p l e e x a m p l e w h e r e w e p r e s e t a l a r g e r < c o d e > m e m o r y _ l i m i t < / c o d e > a n d d i s a b l e t h e < c o d e > s y s t e m < / c o d e > f u n c t i o n : < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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
< 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 & # 3 9 ; ; & 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 : # D 7 3 A 4 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 ; " > a . p h p < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > a . p h p < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Just use it < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > . / my - app < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > Y o u c a n u s e t h e f o l l o w i n g o p t i o n s t o s p e c i f y t h e f i l e n a m e t o b e o u t p u t , a n d y o u c a n a l s o s p e c i f y m i c r o . s f x i n o t h e r p a t h s f o r p a c k a g i n g . < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # s p e c i f y t h e o u t p u t f i l e n a m e < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > a . 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 = c u s t o m - b i n < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Use absolute path < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > a . 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 < / 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 ; " > / t m p / m y - c u s t o m - a p p < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Specify micro . sfx in other locations for packaging < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > a . 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 > < p > I f y o u w a n t t o i n j e c t i n i c o n f i g u r a t i o n i t e m s , y o u c a n u s e t h e f o l l o w i n g p a r a m e t e r s t o a d d i n i t o t h e e x e c u t a b l e f i l e f r o m a f i l e o r c o m m a n d l i n e o p t i o n . < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # S p e c i f i e d u s i n g 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 >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > a . 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 ; " > - 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 ; a = b & 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 ; f o o = b a r & q u o t ; < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Use ini file specification ( - 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;" > bin / 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 ; " > a . 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 ; " > - 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 / y o u r / 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 = " 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 " > W A R N I N G < / p > < p > N o t e , p l e a s e d o n o t d i r e c t l y u s e t h e P H P s o u r c e c o d e o r t h e < c o d e > p h p . i n i < / c o d e > f i l e i n t h e s y s t e m - i n s t a l l e d P H P , i t i s b e s t t o m a n u a l l y w r i t e a n i n i c o n f i g u r a t i o n f i l e t h a t y o u n e e d , f o r e x a m p l e : < / p > < d i v c l a s s = " l a n g u a g e - i n i v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > ; c u s t o m . i n i < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > curl . cainfo < / 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 ; " > = / p a t h / t o / y o u r / c a f i l e . p e m < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > memory _limit < / 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 G < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > T h e i n i i n j e c t i o n o f t h i s c o m m a n d i s a c h i e v e d b y a p p e n d i n g a s p e c i a l s t r u c t u r e a f t e r m i c r o . s f x , w h i c h i s d i f f e r e n t f r o m t h e f u n c t i o n o f i n s e r t i n g h a r d - c o d e d I N I d u r i n g c o m p i l a t i o n . < / p > < / d i v > < p > I f y o u w a n t t o p a c k a g e p h a r , j u s t r e p l a c e < c o d e > a . p h p < / c o d e > w i t h t h e p a c k a g e d p h a r f i l e . B u t p l e a s e n o t e t h a t m i c r o . s f x u n d e r p h a r n e e d s e x t r a a t t e n t i o n t o t h e p a t h p r o b l e m , s e 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 # p h a r - a p p l i c a t i o n - d i r e c t o r y - i s s u e " > D e v e l o p i n g - P h a r d i r e c t o r y i s s u e < / a > . < / p > < h 2 i d = " c o m m a n d - e x t r a c t " t a b i n d e x = " - 1 " > C o m m a n d - e x t r a c t < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # c o m m a n d - e x t r a c t " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; C o m m a n d - e x t r a c t & q u o t ; " > < / a > < / h 2 > < p > U s e t h e c o m m a n d < c o d e > b i n / s p c e x t r a c t < / c o d e > t o u n p a c k a n d c o p y t h e s o u r c e c o d e r e q u i r e d f o r c o m p i l a t i o n , i n c l u d i n g p h p - s r c a n d t h e s o u r c e c o d e o f v a r i o u s d e p e n d e n t l i b r a r i e s ( y o u n e e d t o s p e c i f y t h e n a m e o f t h e l i b r a r y t o b e u n p a c k e d ) . < / p > < p > F o r e x a m p l e , a f t e r w e h a v e d o w n l o a d e d s o u r c e s , w e w a n t t o d i s t r i b u t e a n d e x e c u t e t h e b u i l d p r o c e s s , m a n u a l l y u n p a c k a n d c o p y t h e p a c k a g e t o a s p e c i f i e d l o c a t i o n , a n d w e c a n u s e c o m m a n d s . < / p > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # U n z i p t h e d o w n l o a d e d c o m p r e s s e d p a c k a g e o f p h p - s r c a n d l i b x m l 2 , a n d s t o r e t h e d e c o m p r e s s e d s o u r c e c o d e i n t h e s o u r c e d i r e c t o r y < / s p a n > < / s p a n >
2024-07-13 17:20:59 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 ; " > e x t r a c 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 ; " > p h p - s r c , l i b x m l 2 < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " d e v - c o m m a n d - d e v " t a b i n d e x = " - 1 " > D e v C o m m a n d - d e v < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # d e v - c o m m a n d - d e v " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; D e v C o m m a n d - d e v & q u o t ; " > < / a > < / h 2 > < p > D e b u g c o m m a n d s r e f e r t o a c o l l e c t i o n o f c o m m a n d s t h a t c a n a s s i s t i n o u t p u t t i n g s o m e i n f o r m a t i o n w h e n y o u u s e s t a t i c - p h p - c l i t o b u i l d P H P o r m o d i f y a n d e n h a n c e t h e s t a t i c - p h p - c l i p r o j e c t i t s e l f . < / p > < u l > < l i > < c o d e > d e v : e x t e n s i o n s < / c o d e > : o u t p u t a l l c u r r e n t l y s u p p o r t e d e x t e n s i o n n a m e s , o r o u t p u t t h e s p e c i f i e d e x t e n s i o n i n f o r m a t i o n < / l i > < l i > < c o d e > d e v : p h p - v e r s i o n < / c o d e > : o u t p u t t h e c u r r e n t l y c o m p i l e d P H P v e r s i o n ( b y r e a d i n g < c o d e > p h p _ v e r s i o n . h < / c o d e > ) < / l i > < l i > < c o d e > d e v : s o r t - c o n f i g < / c o d e > : S o r t t h e l i s t o f c o n f i g u r a t i o n f i l e s i n t h e < c o d e > c o n f i g / < / c o d e > d i r e c t o r y i n a l p h a b e t i c a l o r d e r < / l i > < l i > < c o d e > d e v : l i b - v e r & l t ; l i b - n a m e & g t ; < / c o d e > : R e a d t h e v e r s i o n f r o m t h e s o u r c e c o d e o f t h e d e p e n d e n c y l i b r a r y ( o n l y a v a i l a b l e f o r s p e c i f i c d e p e n d e n c y l i b r a r i e s ) < / l i > < l i > < c o d e > d e v : e x t - v e r & l t ; e x t - n a m e & g t ; < / c o d e > : R e a d t h e c o r r e s p o n d i n g v e r s i o n f r o m t h e s o u r c e c o d e o f t h e e x t e n s i o n ( o n l y a v a i l a b l e f o r s p e c i f i c e x t e n s i o n s ) < / l i > < l i > < c o d e > d e v : p a c k - l i b & l t ; l i b - n a m e & g t ; < / c o d e > : P a c k a g e t h e s p e c i f i e d l i b r a r y i n t o a t a r . g z f i l e ( m a i n t a i n e r o n l y ) < / l i > < l i > < c o d e > d e v : g e n - e x t - d o c s < / c o d e > : G e n e r a t e e x t e n s i o n d o c u m e n t a t i o n ( m a i n t a i n e r o n l y ) < / l i > < / u l > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 A 7 3 7 D ; - - s h i k i - d a r k : # 6 A 7 3 7 D ; " > # o u t p u t a l l e x t e n s i o n s i n f o r m a t i o n < / s p a n > < / s p a n >
2024-07-01 02:35:17 +00:00
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 e v : e x t e n s i o n s < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Output the meta information of the specified extension < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 e v : e x t e n s i o n 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 ; " > m o n g o d b , c u r l , o p e n s s l < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Output the specified columns < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Available column name : lib - depends , lib - suggests , ext - depends , ext - suggests , unix - only , type < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 e v : e x t e n s i o n 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 0 5 C C 5 ; - - s h i k i - d a r k : # 7 9 B 8 F F ; " > - - c o l u m n s = l i b - d e p e n d s , t y p e , e x t - d e p e n d s < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Output the currently compiled PHP version < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # You need to decompress the downloaded PHP source code to the source directory first < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # You can use \ ` bin/spc extract php-src \` to decompress the source code separately</span></span>
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 e v : p h p - v e r s i o n < / s p a n > < / s p a n >
< span class = "line" > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Sort the configuration files in the config / directory in alphabetical order ( e . g . ext . json ) < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > bin / 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 e v : s o r t - 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 ; " > e x t < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < h 2 i d = " c o m m a n d - i n s t a l l - p k g " t a b i n d e x = " - 1 " > C o m m a n d - i n s t a l l - p k g < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # c o m m a n d - i n s t a l l - p k g " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; C o m m a n d - i n s t a l l - p k g & q u o t ; " > < / a > < / h 2 > < p > U s e t h e c o m m a n d < c o d e > b i n / s p c i n s t a l l - p k g < / c o d e > t o d o w n l o a d s o m e p r e c o m p i l e d o r c l o s e d s o u r c e t o o l s a n d i n s t a l l t h e m i n t o t h e < c o d e > p k g r o o t < / c o d e > d i r e c t o r y . < / p > < p > W h e n < c o d e > b i n / s p c d o c t o r < / c o d e > a u t o m a t i c a l l y r e p a i r s t h e W i n d o w s e n v i r o n m e n t , t o o l s s u c h a s n a s m a n d p e r l w i l l b e d o w n l o a d e d , a n d t h e i n s t a l l a t i o n p r o c e s s o f < c o d e > i n s t a l l - p k g < / c o d e > w i l l a l s o b e u s e d . < / p > < p > H e r e i s a n e x a m p l e o f i n s t a l l i n g t h e t o o l : < / p > < u l > < l i > D o w n l o a d a n d i n s t a l l U P X ( L i n u x a n d W i n d o w s o n l y ) : < c o d e > b i n / s p c i n s t a l l - p k g u p x < / c o d e > < / l i > < / u l > < h 2 i d = " c o m m a n d - d e l - d o w n l o a d " t a b i n d e x = " - 1 " > C o m m a n d - d e l - d o w n l o a d < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # c o m m a n d - d e l - d o w n l o a d " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; C o m m a n d - d e l - d o w n l o a d & q u o t ; " > < / a > < / h 2 > < p > I n s o m e c a s e s , y o u n e e d t o d e l e t e s i n g l e o r m u l t i p l e s p e c i f i e d d o w n l o a d s o u r c e f i l e s a n d r e - d o w n l o a d t h e m , s u c h a s s w i t c h i n g P H P v e r s i o n s . T h e < c o d e > b i n / s p c d e l - d o w n l o a d < / c o d e > c o m m a n d i s p r o v i d e d a f t e r t h e < c o d e > 2 . 1 . 0 - b e t a . 4 < / c o d e > v e r s i o n . S p e c i f i e d s o u r c e f i l e s c a n b e d e l e t e d . < / p > < p > D e l e t e s d o w n l o a d e d s o u r c e f i l e s c o n t a i n i n g p r e c o m p i l e d p a c k a g e s a n d s o u r c e c o d e n a m e d a s k e y s i n < c o d e > s o u r c e . j s o n < / c o d e > o r < c o d e > p k g . j s o n < / c o d e > . H e r e a r e s o m e e x a m p l e s : < / p > < u l > < l i > D e l e t e t h e o l d P H P s o u r c e c o d e a n d s w i t c h t o d o w n l o a d t h e 8 . 3 v e r s i o n : < c o d e > b i n / s p c d e l - d o w n l o a d p h p - s r c & a m p ; & a m p ; b i n / s p c d o w n l o a d p h p - s r c - - w i t h - p h p = 8 . 3 < / c o d e > < / l i > < l i > D e l e t e t h e d o w n l o a d f i l e o f r e d i s e x t e n s i o n : < c o d e > b i n / s p c d e l - d o w n l o a d r e d i s < / c o d e > < / l i > < l i > D e l e t e t h e d o w n l o a d e d m u s l - t o o l c h a i n x 8 6 _ 6 4 : < c o d e > b i n / s p c d e l - d o w n l o a d m u s l - t o o l c h a i n - x 8 6 _ 6 4 - l i n u x < / c o d e > < / l i > < / u l > < h 2 i d = " i n j e c t - e x t e r n a l - s c r i p t " t a b i n d e x = " - 1 " > I n j e c t E x t e r n a l S c r i p t < 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 - e x t e r n a l - s c r i p t " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; I n j e c t E x t e r n a l S c r i p t & q u o t ; " > < / a > < / h 2 > < p > I n j e c t i n g e x t e r n a l s c r i p t s r e f e r s t o i n s e r t i n g o n e o r m o r e s c r i p t s d u r i n g t h e s t a t i c - p h p - c l i c o m p i l a t i o n p r o c e s s t o m o r e f l e x i b l y s u p p o r t p a r a m e t e r m o d i f i c a t i o n s a n d s o u r c e c o d e p a t c h e s i n d i f f e r e n t e n v i r o n m e n t s . < / p > < p > U n d e r n o r m a l c i r c u m s t a n c e s , t h i s f u n c t i o n m a i n l y s o l v e s t h e p r o b l e m t h a t t h e p a t c h c a n n o t b e m o d i f i e d b y m o d i f y i n g t h e s t a t i c - p h p - c l i c o d e w h e n c o m p i l i n g w i t h < c o d e > s p c < / c o d e > b i n a r y . < / p > < p > T h e r e i s a n o t h e r s i t u a t i o n : y o u r p r o j e c t d i r e c t l y d e p e n d s o n t h e < c o d e > c r a z y w h a l e c c / s t a t i c - p h p - c l i < / c o d e > r e p o s i t o r y a n d i s s y n c h r o n i z e d w i t h m a i n b r a n c h , b u t s o m e p r o p r i e t a r y m o d i f i c a t i o n s a r e r e q u i r e d , a n d t h e s e f e a t u r e a r e n o t s u i t a b l e f o r m e r g i n g i n t o t h e m a i n b r a n c h . < / p > < p > I n v i e w o f t h e a b o v e s i t u a t i o n , i n t h e o f f i c i a l v e r s i o n 2 . 0 . 0 , s t a t i c - p h p - c l i h a s a d d e d m u l t i p l e e v e n t t r i g g e r p o i n t s . Y o u c a n w r i t e a n e x t e r n a l < c o d e > x x . p h p < / c o d e > s c r i p t a n d p a s s i t i n t h r o u g h t h e c o m m a n d l i n e p a r a m e t e r < c o d e > - P < / c o d e > a n d e x e c u t e . < / p > < p > W h e n w r i t i n g t o i n j e c t e x t e r n a l s c r i p t s , t h e m e t h o d s y o u w i l l u s e a r e < c o d e > b u i l d e r ( ) < / c o d e > a n d < c o d e > p a t c h _ p o i n t ( ) < / c o d e > . A m o n g t h e m , < c o d e > p a t c h _ p o i n t ( ) < / c o d e > o b t a i n s t h e n a m e o f t h e c u r r e n t e v e n t , a n d < c o d e > b u i l d e r ( ) < / c o d e > o b t a i n s t h e B u i l d e r B a s e o b j e c t . < / p > < p > B e c a u s e t h e i n c o m i n g p a t c h p o i n t d o e s n o t d i s t i n g u i s h b e t w e e n e v e n t s , y o u m u s t w r i t e t h e c o d e y o u w a n t t o e x e c u t e i n < c o d e > i f ( p a t c h _ p o i n t ( ) = = = & # 3 9 ; y o u r _ e v e n t _ n a m e & # 3 9 ; ) < / c o d e > , o t h e r w i s e i t w i l l b e e x e c u t e d r e p e a t e d l y i n o t h e r e v e n t s . < / p > < p > T h e f o l l o w i n g a r e t h e s u p p o r t e d < c o d e > p a t c h _ p o i n t < / c o d e > e v e n t n a m e s a n d c o r r e s p o n d i n g l o c a t i o n 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 > E v e n t n a m e < / t h > < t h > E v e n t 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 > b e f o r e - l i b s - e x t r a c t < / t d > < t d > T r i g g e r e d b e f o r e t h e d e p e n d e n t l i b r a r i e s e x t r a c t e d < / t d > < / t r > < t r > < t d > a f t e r - l i b s - e x t r a c t < / t d > < t d > T r i g g e r e d a f t e r t h e c o m p i l e d d e p e n d e n t l i b r a r i e s e x t r a c t e d < / t d > < / t r > < t r > < t d >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > & lt ; ? < / 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 ; " > p h p < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > // patch it before \`./buildconf\` executed</span></span>
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > if < / 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 : # 6 F 4 2 C 1 ; - - s h i k i - d a r k : # B 3 9 2 F 0 ; " > p a t c h _ p o i n t < / 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 : # D 7 3 A 4 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 ; " > & # 3 9 ; b e f o r e - p h p - b u i l d c o n f & # 3 9 ; < / 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:#005CC5;--shiki-dark:#79B8FF;" > \ \ SPC \ \ store \ \ FileSystem < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # D 7 3 A 4 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 : # 6 F 4 2 C 1 ; - - s h i k i - d a r k : # B 3 9 2 F 0 ; " > r e p l a c e F i l e S t 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:#005CC5;--shiki-dark:#79B8FF;" > SOURCE _PATH < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # D 7 3 A 4 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 ; " > & # 3 9 ; / p h p - s r c / s a p i / c l i / p h p _ c l i . c & # 3 9 ; < / 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:#032F62;--shiki-dark:#9ECBFF;" > & # 39 ; sapi _module - & gt ; php _ini _ignore _cwd = 1 ; & # 39 ; < / 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:#032F62;--shiki-dark:#9ECBFF;" > & # 39 ; sapi _module - & gt ; php _ini _ignore _cwd = 0 ; & # 39 ; < / 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 >
< 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 > < d i v c l a s s = " l a n g u a g e - b a s h v p - a d a p t i v e - t h e m e " > < 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 v p - c o d e " t a b i n d e x = " 0 " > < 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 ; " > b i n / 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 < / 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 b s t r i n 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 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 ; " > - 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 ; " > a . p h p < / s p a n > < / s p a n >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Write in . / < / 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 ; " > & # 3 9 ; m e m o r y _ l i m i t = 8 G & # 3 9 ; < / s p a n > < s p a n s t y l e = " - - s h i k i - l i g h t : # D 7 3 A 4 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 ; " > . / p h p . 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 = " l a n g u a g e - v p - a d a p t i v e - t h e m e " > < 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 " > < / 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 v p - c o d e " t a b i n d e x = " 0 " > < c o d e > < s p a n c l a s s = " l i n e " > < s p a n > $ b u i l d r o o t / b i n / p h p - i | g r e p L o a d e d < / s p a n > < / s p a n >
< span class = "line" > < span > Loaded Configuration File = & gt ; / U s e r s / j e r r y / p r o j e c t / g i t - p r o j e c t / s t a t i c - p h p - c l i / p h p . i n i < / s p a n > < / s p a n >
< span class = "line" > < span > < / s p a n > < / s p a n >
< span class = "line" > < span > $ buildroot / bin / php - i | grep memory < / s p a n > < / s p a n >
2024-07-13 17:20:59 +00:00
< span class = "line" > < span > memory _limit = & gt ; 8 G = & gt ; 8 G < / s p a n > < / s p a n > < / c o d e > < / p r e > < / d i v > < p > F o r t h e o b j e c t s , m e t h o d s a n d i n t e r f a c e s s u p p o r t e d b y s t a t i c - p h p - c l i , y o u c a n r e a d t h e s o u r c e c o d e . M o s t m e t h o d s a n d o b j e c t s h a v e c o r r e s p o n d i n g c o m m e n t s . < / p > < p > C o m m o n l y u s e d o b j e c t s a n d f u n c t i o n s u s i n g t h e < c o d e > - P < / c o d e > f u n c t i o n a r e : < / p > < u l > < l i > < c o d e > S P C \ \ s t o r e \ \ F i l e S y s t e m < / c o d e > : f i l e m a n a g e m e n t c l a s s < u l > < l i > < c o d e > : : r e p l a c e F i l e S t r ( s t r i n g $ f i l e n a m e , s t r i n g $ s e a r c h , $ r e p l a c e ) < / c o d e > : R e p l a c e f i l e s t r i n g c o n t e n t < / l i > < l i > < c o d e > : : r e p l a c e F i l e S t r ( s t r i n g $ f i l e n a m e , s t r i n g $ p a t t e r n , $ r e p l a c e ) < / c o d e > : R e g u l a r l y r e p l a c e f i l e c o n t e n t < / l i > < l i > < c o d e > : : r e p l a c e F i l e U s e r ( s t r i n g $ f i l e n a m e , $ c a l l b a c k ) < / c o d e > : U s e r - d e f i n e d f u n c t i o n r e p l a c e s f i l e c o n t e n t < / l i > < l i > < c o d e > : : c o p y D i r ( s t r i n g $ f r o m , s t r i n g $ t o ) < / c o d e > : R e c u r s i v e l y c o p y a d i r e c t o r y t o a n o t h e r l o c a t i o n < / l i > < l i > < c o d e > : : c o n v e r t P a t h ( s t r i n g $ p a t h ) < / c o d e > : C o n v e r t t h e p a t h d e l i m i t e r t o t h e c u r r e n t s y s t e m d e l i m i t e r < / l i > < l i > < c o d e > : : s c a n D i r F i l e s ( s t r i n g $ d i r , b o o l $ r e c u r s i v e = t r u e , b o o l | s t r i n g $ r e l a t i v e = f a l s e , b o o l $ i n c l u d e _ d i r = f a l s e ) < / c o d e > : T r a v e r s e d i r e c t o r y f i l e s < / l i > < / u l > < / l i > < l i > < c o d e > S P C \ \ b u i l d e r \ \ B u i l d e r B a s e < / c o d e > : B u i l d o b j e c t < u l > < l i > < c o d e > - & g t ; g e t P a t c h P o i n t ( ) < / c o d e > : G e t t h e c u r r e n t i n j e c t i o n p o i n t n a m e < / l i > < l i > < c o d e > - & g t ; g e t O p t i o n ( s t r i n g $ k e y , $ d e f a u l t = n u l l ) < / c o d e > : G e t c o m m a n d l i n e a n d c o m p i l e - t i m e o p t i o n s < / l i > < l i > < c o d e > - & g t ; g e t P H P V e r s i o n I D ( ) < / c o d e > : G e t t h e c u r r e n t l y c o m p i l e d P H P v e r s i o n I D < / l i > < l i > < c o d e > - & g t ; g e t P H P V e r s i o n ( ) < / c o d e > : G e t t h e c u r r e n t l y c o m p i l e d P H P v e r s i o n n u m b e r < / l i > < l i > < c o d e > - & g t ; s e t O p t i o n ( s t r i n g $ k e y , $ v a l u e ) < / c o d e > : S e t o p t i o n s < / l i > < l i > < c o d e > - & g t ; s e t O p t i o n I f N o t E x i s t s ( s t r i n g $ k e y , $ v a l u e ) < / c o d e > : S e t o p t i o n i f o p t i o n d o e s n o t e x i s t < / l i > < / u l > < / 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 " > T I P < / p > < p > s t a t i c - p h p - c l i h a s m a n y o p e n m e t h o d s , w h i c h c a n n o t b e l i s t e d i n t h e d o c s , b u t a s l o n g a s i t i s a < c o d e > p u b l i c f u n c t i o n < / c o d e > a n d i s n o t m a r k e d a s < c o d e > @ i n t e r n a l < / c o d e > , i t t h e o r e t i c a l l y c a n b e c a l l e d . < / p > < / d i v > < h 2 i d = " m u l t i p l e - b u i l d s " t a b i n d e x = " - 1 " > M u l t i p l e b u i l d s < a c l a s s = " h e a d e r - a n c h o r " h r e f = " # m u l t i p l e - b u i l d s " a r i a - l a b e l = " P e r m a l i n k t o & q u o t ; M u l t i p l e b u i l d s & q u o t ; " > < / a > < / h 2 > < p > I f y o u n e e d t o b u i l d m u l t i p l e t i m e s l o c a l l y , t h e f o l l o w i n g m e t h o d c a n s a v e y o u t i m e d o w n l o a d i n g r e s o u r c e s a n d c o m p i l i n g . < / p > < u l > < l i > I f y o u o n l y s w i t c h t h e P H P v e r s i o n w i t h o u t c h a n g i n g t h e d e p e n d e n t l i b r a r i e s , y o u c a n u s e < c o d e > b i n / s p c s w i t c h - p h p - v e r s i o n < / c o d e > t o q u i c k l y s w i t c h t h e P H P v e r s i o n , a n d t h e n r e - r u n t h e s a m e < c o d e > b u i l d < / c o d e > c o m m a n d . < / l i > < l i > I f y o u w a n t t o r e b u i l d o n c e , b u t d o n o t r e - d o w n l o a d t h e s o u r c e c o d e , y o u c a n f i r s t < c o d e > r m - r f b u i l d r o o t s o u r c e < / c o d e > t o d e l e t e t h e c o m p i l a t i o n d i r e c t o r y a n d s o u r c e c o d e d i r e c t o r y , a n d t h e n r e b u i l d . < / l i > < l i > I f y o u w a n t t o u p d a t e a v e r s i o n o f a d e p e n d e n c y , y o u c a n u s e < c o d e > b i n / s p c d e l - d o w n l o a d & l t ; s o u r c e - n a m e & g t ; < / c o d e > t o d e l e t e t h e s p e c i f i e d s o u r c e c o d e , a n d t h e n u s e < c o d e > d o w n l o a d & l t ; s o u r c e - n a m e & g t ; < / c o d e > t o d o w n l o a d i t a g a i n . < / l i > < l i > I f y o u w a n t t o u p d a t e a l l d e p e n d e n t v e r s i o n s , y o u c a n u s e < c o d e > b i n / s p c d o w n l o a d - - c l e a n < / c o d e > t o d e l e t e a l l d o w n l o a d e d s o u r c e s , a n d t h e n d o w n l o a d t h e m a g a i n . < / l i > < / u l > ` , 1 0 5 ) , l = [ t ] ; f u n c t i o n o ( p , d , h , c , r , k ) { r e t u r n e ( ) , i ( " d i v " , n u l l , l ) } c o n s t m = s ( n , [ [ " r e n d e r " , o ] ] ) ; e x p o r t { g a s _ _ p a g e D a t a , m a s d e f a u l t } ;