2026-05-11 05:18:54 +00:00
<!DOCTYPE html>
< html lang = "zh" dir = "ltr" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< title > PHP SAPI 构建参考 | StaticPHP< / title >
< meta name = "description" content = "A powerful tool designed for building portable executables including PHP, extensions, and more." >
< meta name = "generator" content = "VitePress v2.0.0-alpha.12" >
< link rel = "preload stylesheet" href = "/assets/style.DtFsVR9B.css" as = "style" >
< link rel = "preload stylesheet" href = "/vp-icons.css" as = "style" >
2026-06-16 05:58:18 +00:00
< script type = "module" src = "/assets/app.DFjSYdj3.js" > < / script >
2026-05-11 05:18:54 +00:00
< link rel = "preload" href = "/assets/inter-roman-latin.Di8DUHzh.woff2" as = "font" type = "font/woff2" crossorigin = "" >
2026-06-16 05:58:18 +00:00
< link rel = "modulepreload" href = "/assets/chunks/theme.CtIPYXhG.js" >
2026-05-11 05:18:54 +00:00
< link rel = "modulepreload" href = "/assets/chunks/framework.C2AwuPrQ.js" >
< link rel = "modulepreload" href = "/assets/zh_guide_sapi-reference.md.DXv5eV6I.lean.js" >
< script id = "check-dark-mode" > ( ( ) => { const e = localStorage . getItem ( "vitepress-theme-appearance" ) || "auto" , a = window . matchMedia ( "(prefers-color-scheme: dark)" ) . matches ; ( ! e || e === "auto" ? a : e === "dark" ) && document . documentElement . classList . add ( "dark" ) } ) ( ) ; < / script >
< script id = "check-mac-os" > document . documentElement . classList . toggle ( "mac" , /Mac|iPhone|iPod|iPad/i . test ( navigator . platform ) ) ; < / script >
< / head >
< body >
< div id = "app" > < div class = "Layout" data-v-1df9f90f > <!-- [ --> <!-- ] --> <!-- [ --> < span tabindex = "-1" data-v-0b0ada53 > < / span > < a href = "#VPContent" class = "VPSkipLink visually-hidden" data-v-0b0ada53 > Skip to content< / a > <!-- ] --> <!-- --> < header class = "VPNav" data-v-1df9f90f data-v-9f75dce3 > < div class = "VPNavBar" data-v-9f75dce3 data-v-2a96a3d0 > < div class = "wrapper" data-v-2a96a3d0 > < div class = "container" data-v-2a96a3d0 > < div class = "title" data-v-2a96a3d0 > < div class = "VPNavBarTitle has-sidebar" data-v-2a96a3d0 data-v-1e38c6bc > < a class = "title" href = "/zh/" data-v-1e38c6bc > <!-- [ --> <!-- ] --> <!-- [ --> < img class = "VPImage logo" src = "/images/static-php_nobg.png" alt data-v-8426fc1a > <!-- ] --> < span data-v-1e38c6bc > StaticPHP< / span > <!-- [ --> <!-- ] --> < / a > < / div > < / div > < div class = "content" data-v-2a96a3d0 > < div class = "content-body" data-v-2a96a3d0 > <!-- [ --> <!-- ] --> < div class = "VPNavBarSearch search" data-v-2a96a3d0 > <!-- [ --> <!-- --> < div id = "docsearch" > < button type = "button" aria-label = "Search" aria-keyshortcuts = "/ control+k meta+k" class = "DocSearch DocSearch-Button" > < span class = "DocSearch-Button-Container" > < span class = "vpi-search DocSearch-Search-Icon" > < / span > < span class = "DocSearch-Button-Placeholder" > Search< / span > < / span > < span class = "DocSearch-Button-Keys" > < kbd class = "DocSearch-Button-Key" > < / kbd > < kbd class = "DocSearch-Button-Key" > < / kbd > < / span > < / button > < / div > <!-- ] --> < / div > < nav aria-labelledby = "main-nav-aria-label" class = "VPNavBarMenu menu" data-v-2a96a3d0 data-v-39714824 > < span id = "main-nav-aria-label" class = "visually-hidden" data-v-39714824 > Main Navigation < / span > <!-- [ --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/zh/guide/" tabindex = "0" data-v-39714824 data-v-e56f3d57 > <!-- [ --> < span data-v-e56f3d57 > 构建指南< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/zh/develop/" tabindex = "0" data-v-39714824 data-v-e56f3d57 > <!-- [ --> < span data-v-e56f3d57 > 开发者< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/zh/contributing/" tabindex = "0" data-v-39714824 data-v-e56f3d57 > <!-- [ --> < span data-v-e56f3d57 > 贡献< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/zh/faq/" tabindex = "0" data-v-39714824 data-v-e56f3d57 > <!-- [ --> < span data-v-e56f3d57 > FAQ< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < div class = "VPFlyout VPNavBarMenuGroup" data-v-39714824 data-v-42cb505d > < button type = "button" class = "button" aria-haspopup = "true" aria-expanded = "false" data-v-42cb505d > < span class = "text" data-v-42cb505d > <!-- --> < span data-v-42cb505d > v3 (alpha)< / span > < span class = "vpi-chevron-down text-icon" data-v-42cb505d > < / span > < / span > < / button > < div class = "menu" data-v-42cb505d > < div class = "VPMenu" data-v-42cb505d data-v-25a6cce8 > < div class = "items" data-v-25a6cce8 > <!-- [ --> <!-- [ --> < div class = "VPMenuLink" data-v-25a6cce8 data-v-cd834e02 > < a class = "VPLink link" href = "/zh/" data-v-cd834e02 > <!-- [ --> < span data-v-cd834e02 > v3 (alpha)< / span > <!-- ] --> < / a > < / div > <!-- ] --> <!-- [ --> < div class = "VPMenuLink" data-v-25a6cce8 data-v-cd834e02 > < a class = "VPLink link vp-external-link-icon" href = "https://static-php.github.io/v2-docs/" target = "_blank" rel = "noreferrer" data-v-cd834e02 > <!-- [ --> < span data-v-cd834e02 > v2< / span > <!-- ] --> < / a > < / div > <!-- ] --> <!-- ] --> < / div > <!-- [ --> <!-- ] --> < / div > < / div > < / div > <!-- ] --> <!-- ] --> < / nav > < div class = "VPFlyout VPNavBarTranslations translations" data-v-2a96a3d0 data-v-88af2de4 data-v-42cb505d > < button type = "button" class = "button" aria-haspopup = "true" aria-expanded = "false" aria-label = "Change language" data-v-42cb505d > < span class = "text" data-v-42cb505d > < span class = "vpi-languages option-icon" data-v-42cb505d > < / span > <!-- --> < span class = "vpi-chevron-down text-icon" data-v-42cb505d > < / span > < / span > < / button > < div class = "menu" data-v-42cb505d > < div class = "VPMenu" data-v-42cb505d data-v-25a6cce8 > <!-- --> <!-- [ --> <!-- [ --> < div class = "items" data-v-88af2de4 > < p class = "title" data-v-88af2de4 > 简体中文< / p > <!-- [ --> < div class = "VPMenuLink" data-v-88af2de4 data-v-cd834e02 > < a class = "VPLink link" href = "/en/guide/sapi-reference.html" data-v-cd834e02 > <!-- [ --> < span data-v-cd834e02 > English< / span > <!-- ] --> < / a > < / div > <!-- ] --> < / div > <!-- ] --> <!-- ] -->
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/php< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -v< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/php< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -m< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 执行脚本< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/php< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > your-script.php< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 交互模式< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/php< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -a< / span > < / span > < / code > < / pre > < / div > < h3 id = "php-ini-路径" tabindex = "-1" > php.ini 路径 < a class = "header-anchor" href = "#php-ini-路径" aria-label = "Permalink to “php.ini 路径”" > < / a > < / h3 > < p > 静态编译的 PHP cli 按以下顺序搜索 < code > php.ini< / code > : < / p > < ol > < li > 命令行参数 < code > -c /path/to/php.ini< / code > 指定的路径< / li > < li > < code > PHP_INI_PATH< / code > 环境变量指定的路径< / li > < li > 编译时通过 < code > --with-config-file-path< / code > 指定的目录(默认为 < code > /usr/local/etc/php< / code > ) < / li > < / ol > < p > 可以通过 < code > ./buildroot/bin/php --ini< / code > 查看 PHP 实际使用的 ini 路径。< / p > < h3 id = "硬编码-ini" tabindex = "-1" > 硬编码 INI < a class = "header-anchor" href = "#硬编码-ini" aria-label = "Permalink to “硬编码 INI”" > < / a > < / h3 > < p > 使用 < code > -I< / code > 参数可以在编译时将 INI 配置硬编码到二进制中,无需额外的 < code > php.ini< / code > 文件:< / p > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > build:php< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " bcmath,pcntl" < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --build-cli< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -I< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " memory_limit=4G" < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -I< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " disable_functions=system,exec" < / span > < / span > < / code > < / pre > < / div > < p > 硬编码 INI 适用于 < code > cli< / code > 、< code > micro< / code > 、< code > embed< / code > SAPI。< / p > < h2 id = "fpm" tabindex = "-1" > fpm < a class = "header-anchor" href = "#fpm" aria-label = "Permalink to “fpm”" > < / a > < / h2 > < p > < code > fpm< / code > ( FastCGI Process Manager) 与 Nginx、Apache 等 Web 服务器配合使用,适用于传统的 Web 应用部署场景。< / p > < div class = "warning custom-block" > < p class = "custom-block-title custom-block-title-default" > WARNING< / p > < p > < code > fpm< / code > 不支持 Windows 平台。< / p > < / div > < h3 id = "构建-1" tabindex = "-1" > 构建 < a class = "header-anchor" href = "#构建-1" aria-label = "Permalink to “构建”" > < / a > < / h3 > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > build:php< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " bcmath,openssl,curl,pdo_mysql" < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --build-fpm< / span > < / span > < / code > < / pre > < / div > < p > 产物为 < code > buildroot/bin/php-fpm< / code > 。< / p > < p > 完整选项参见 < a href = "./cli-reference.html#sapi-selection" > build:php — SAPI 选择< / a > 和 < a href = "./cli-reference.html#common-build-options" > build:php — 通用构建选项< / a > 。< / p > < h3 id = "使用-1" tabindex = "-1" > 使用 < a class = "header-anchor" href = "#使用-1" aria-label = "Permalink to “使用”" > < / a > < / h3 > < p > 将 < code > buildroot/bin/php-fpm< / code > 拷贝到服务器,像普通的 < code > php-fpm< / code > 一样使用:< / p > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/php-fpm< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -v< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 指定配置文件启动< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/php-fpm< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -c< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > /path/to/php.ini< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -y< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > /path/to/php-fpm.conf< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 测试配置文件< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/php-fpm< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -t< / span > < / span > < / code > < / pre > < / div > < h3 id = "与-nginx-配合使用示例" tabindex = "-1" > 与 Nginx 配合使用示例 < a class = "header-anchor" href = "#与-nginx-配合使用示例" aria-label = "Permalink to “与 Nginx 配合使用示例”" > < / a > < / h3 > < div class = "language-nginx" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > nginx< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > server< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > {< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > listen < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > 80< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > ;< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > root < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > /var/www/html;< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > index < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > index.php;< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > location< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > ~< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#DBEDFF;" > \.php$ < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > {< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > fastcgi_pass < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > 127.0.0.1:9000;< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > fastcgi_param < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > SCRIPT_FILENAME $document_root$fastcgi_script_name;< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > include < / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > fastcgi_params;< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > }< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > }< / span > < / span > < / code > < / pre > < / div > < p > < code > php-fpm.conf< / code > 示例:< / p > < div class = "language-ini" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > ini< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > [global]< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > pid< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > = /var/run/php-fpm.pid< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > error_log< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > = /var/log/php-fpm.log< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > [www]< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > listen< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > = 127.0.0.1:9000< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > pm< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > = dynamic< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > pm.max_children< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > = 5< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > pm.start_servers< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > = 2< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > pm.min_spare_servers< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > = 1< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > pm.max_spare_servers< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > = 3< / span > < / span > < / code > < / pre > < / div > < h2 id = "micro" tabindex = "-1" > micro < a class = "header-anchor" href = "#micro" aria-label = "Permalink to “micro”" > < / a > < / h2 > < p > < code > micro< / code > 是基于 < a href = "https://github.com/easysoft/phpmicro" target = "_blank" rel = "noreferrer" > phpmicro< / a > 的自包含可执行文件 SAPI。通过 < code > spc micro:combine< / code > 命令,可以将 < code > micro.sfx< / code > 与 PHP 代码合并为一个独立的可执行文件,无需在目标机器上安装 PHP。< / p > < h3 id = "构建-2" tabindex = "-1" > 构建 < a class = "header-anchor" href = "#构建-2" aria-label = "Permalink to “构建”" > < / a > < / h3 > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > build:php< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " bcmath,phar,openssl,curl" < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --build-micro< / span > < / span > < / code > < / pre > < / div > < p > 产物为 < code > buildroot/bin/micro.sfx< / code > 。< / p > < p > 完整选项参见 < a href = "./cli-reference.html#sapi-selection" > build:php — SAPI 选择< / a > 、< a href = "./cli-reference.html#common-build-options" > build:php — 通用构建选项< / a > 和 < a href = "./cli-reference.html#micro-options" > build:php — micro 专用选项< / a > 。< / p > < h3 id = "打包应用" tabindex = "-1" > 打包应用 < a class = "header-anchor" href = "#打包应用" aria-label = "Permalink to “打包应用”" > < / a > < / h3 > < p > 使用 < code > micro:combine< / code > 命令将 PHP 脚本或 phar 文件打包:< / p > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 打包 PHP 脚本< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > echo< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " < ?php echo ' Hello, World!' . PHP_EOL;" < / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > > < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > hello.php< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > micro:combine< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > hello.php< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --output=hello< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./hello< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 打包 phar 文件< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > micro:combine< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > your-app.phar< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --output=your-app< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./your-app< / span > < / span > < / code > < / pre > < / div > < h3 id = "注入-ini-配置" tabindex = "-1" > 注入 INI 配置 < a class = "header-anchor" href = "#注入-ini-配置" aria-label = "Permalink to “注入 INI 配置”" > < / a > < / h3 > < p > 打包时可以通过命令行参数或 ini 文件注入运行时配置:< / p > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 通过命令行参数注入(-I 是 --with-ini-set 的简写)< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > micro:combine< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > your-app.phar< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --output=your-app< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -I< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " memory_limit=512M" < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -I< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " curl.cainfo=/etc/ssl/certs/ca-certificates.crt" < / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 通过 ini 文件注入(-N 是 --with-ini-file 的简写)< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > micro:combine< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > your-app.phar< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --output=your-app< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > -N< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > /path/to/custom.ini< / span > < / span > < / code > < / pre > < / div > < div class = "tip custom-block" > < p class = "custom-block-title custom-block-title-default" > TIP< / p > < p > < code > -I< / code > 注入的 INI 是运行时配置,通过在 < code > micro.sfx< / code > 末尾追加特殊结构实现。这与编译时用 < code > -I< / code > 硬编码 INI 不同,两者可以共存。< / p > < / div > < h3 id = "伪装为-cli-sapi" tabindex = "-1" > 伪装为 cli SAPI < a class = "header-anchor" href = "#伪装为-cli-sapi" aria-label = "Permalink to “伪装为 cli SAPI”" > < / a > < / h3 > < p > 部分框架会检查 < code > PHP_SAPI< / code > 的值,并限制在非 < code > cli< / code > 环境下运行。< code > micro< / code > 的 < code > PHP_SAPI< / code > 默认值为 < code > micro< / code > ,可通过编译参数让其伪装为 < code > cli< / code > : < / p > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > build:php< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " bcmath,phar" < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --build-micro< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --with-micro-fake-cli< / span > < / span > < / code > < / pre > < / div > < h3 id = "指定自定义-micro-sfx-路径" tabindex = "-1" > 指定自定义 micro.sfx 路径 < a class = "header-anchor" href = "#指定自定义-micro-sfx-路径" aria-label = "Permalink to “指定自定义 micro.sfx 路径”" > < / a > < / h3 > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > micro:combine< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > your-app.phar< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --output=your-app< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --with-micro=/path/to/your/micro.sfx< / span > < / span > < / code > < / pre > < / div > < h3 id = "关于-phar-的路径问题" tabindex = "-1" > 关于 phar 的路径问题 < a class = "header-anchor" href = "#关于-phar-的路径问题" aria-label = "Permalink to “关于 phar 的路径问题”" > < / a > < / h3 > < p > 将应用打包为 phar 后, phar 内部使用相对路径可能与预期不符。请参考< a href = "./../develop/structure.html" > 开发者文档 - Phar 目录问题< / a > 了解详情。< / p > < h2 id = "embed" tabindex = "-1" > embed < a class = "header-anchor" href = "#embed" aria-label = "Permalink to “embed”" > < / a > < / h2 > < p > < code > embed< / code > SAPI 将 PHP 编译为静态库( Linux/macOS 下为 < code > libphp.a< / code > , Windows 下为 < code > php8embed.lib< / code > ),可嵌入到其他 C/C++ 程序中运行 PHP 代码。< / p > < h3 id = "构建-3" tabindex = "-1" > 构建 < a class = "header-anchor" href = "#构建-3" aria-label = "Permalink to “构建”" > < / a > < / h3 > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < s
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/frankenphp< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > version< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 以 PHP 内置服务器模式运行(用于开发调试)< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/frankenphp< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > php-server< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # 运行 Worker 模式< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > ./buildroot/bin/frankenphp< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > run< / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --config< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > /path/to/Caddyfile< / span > < / span > < / code > < / pre > < / div > < p > 更多用法请参考 < a href = "https://frankenphp.dev/docs/" target = "_blank" rel = "noreferrer" > FrankenPHP 官方文档< / a > 。< / p > < h2 id = "动态扩展加载" tabindex = "-1" > 动态扩展加载 < a class = "header-anchor" href = "#动态扩展加载" aria-label = "Permalink to “动态扩展加载”" > < / a > < / h2 > < p > 静态 PHP 二进制是否能够通过 < code > dl()< / code > 在运行时加载扩展,取决于其链接方式。< / p > < p > < strong > macOS< / strong > — 构建产物始终动态链接系统库,支持通过 < code > dl()< / code > 或 < code > php.ini< / code > 在运行时加载 < code > .so< / code > 扩展。< / p > < p > < strong > Linux< / strong > — StaticPHP 默认构建目标为 < code > native-native-musl< / code > :完全静态链接 musl libc 的二进制。由于运行时不存在动态链接器,< code > dl()< / code > 被禁用, FFI 扩展无法使用,也无法加载任何外部 < code > .so< / code > 扩展。< / p > < p > 如需在 Linux 上支持动态扩展加载,请在构建前设置 < code > SPC_TARGET< / code > 环境变量:< / p > < div class = "language-bash" > < button title = "Copy Code" class = "copy" > < / button > < span class = "lang" > bash< / span > < pre class = "shiki shiki-themes github-light github-dark" style = "--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e;" tabindex = "0" dir = "ltr" > < code > < span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > SPC_TARGET< / span > < span style = "--shiki-light:#D73A49;--shiki-dark:#F97583;" > =< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > native-native-gnu.2.17< / span > < span style = "--shiki-light:#6F42C1;--shiki-dark:#B392F0;" > spc< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > build:php< / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > " bcmath,openssl" < / span > < span style = "--shiki-light:#005CC5;--shiki-dark:#79B8FF;" > --build-cli< / span > < / span > < / code > < / pre > < / div > < p > 如果你采用的是源码安装,也可以在 < code > config/env.ini< / code > 中设置 < code > SPC_TARGET=native-native-gnu.2.17< / code > ,将其作为所有构建的默认值。< / p > < p > 这将使用 Zig 工具链构建出一个准静态二进制,动态链接 glibc 2.17,可运行于大多数现代 GNU/Linux 发行版,无需 Docker, 也无需额外的交叉编译工具链。该产物支持 < code > dl()< / code > 、FFI 和运行时加载 < code > .so< / code > 扩展,但无法运行于 Alpine Linux 等基于 musl 的系统。< / p > < p > < strong > Windows< / strong > — Windows 上的 PHP 扩展均以 < code > .dll< / code > 形式分发,且依赖官方动态构建的 PHP 中附带的 DLL 文件。StaticPHP 构建的静态 PHP 可执行文件不包含这些 DLL, 因此 Windows 不支持动态扩展加载,所有扩展必须在构建时静态编译进去。< / p > < / div > < / div > < / main > < footer class = "VPDocFooter" data-v-7011f0d8 data-v-e257564d > <!-- [ --> <!-- ] --> <!-- --> < nav class = "prev-next" aria-labelledby = "doc-footer-aria-label" data-v-e257564d > < span class = "visually-hidden" id = "doc-footer-aria-label" data-v-e257564d > Pager< / span > < div class = "pager" data-v-e257564d > < a class = "VPLink link pager-link prev" href = "/zh/guide/first-build.html" data-v-e257564d > <!-- [ --> < span class = "desc" data-v-e257564d > Previous page< / span > < span class = "title" data-v-e257564d > 第一次构建< / span > <!-- ] --> < / a > < / div > < div class = "pager" data-v-e257564d > < a class = "VPLink link pager-link next" href = "/zh/guide/cli-reference.html" data-v-e257564d > <!-- [ --> < span class = "desc" data-v-e257564d > Next page< / span > < span class = "title" data-v-e257564d > 命令行参考< / span > <!-- ] --> < / a > < / div > < / nav > < / footer > <!-- [ --> <!-- ] --> < / div > < / div > < / div > <!-- [ --> <!-- ] --> < / div > < / div > < footer class = "VPFooter has-sidebar" data-v-1df9f90f data-v-c3855bb3 > < div class = "container" data-v-c3855bb3 > < p class = "message
2026-06-16 05:58:18 +00:00
< script > w i n d o w . _ _ V P _ H A S H _ M A P _ _ = J S O N . p a r s e ( " { \ " d e p s - c r a f t - y m l . m d \ " : \ " D a R p 5 s D R \ " , \ " e n _ c o n t r i b u t i n g _ i n d e x . m d \ " : \ " B w 6 a G Z o 7 \ " , \ " e n _ d e v e l o p _ a r t i f a c t - m o d e l . m d \ " : \ " B e 9 w N _ Z U \ " , \ " e n _ d e v e l o p _ b u i l d - l i f e c y c l e . m d \ " : \ " B r k k r O I 9 \ " , \ " e n _ d e v e l o p _ c r a f t - y m l . m d \ " : \ " C J q l R A W M \ " , \ " e n _ d e v e l o p _ d o c t o r - m o d u l e . m d \ " : \ " B P x _ g h 7 b \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ a n n o t a t i o n s . m d \ " : \ " r W E g D 5 t 7 \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ c u s t o m - a r t i f a c t . m d \ " : \ " B Q o f t n U i \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ d e p e n d e n c y - i n j e c t i o n . m d \ " : \ " 3 R v n s J s 8 \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ i n d e x . m d \ " : \ " C B A L g G v M \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ l i f e c y c l e - h o o k s . m d \ " : \ " T H 5 1 a j M N \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ p a c k a g e - c l a s s e s . m d \ " : \ " D L 4 7 s x q 4 \ " , \ " e n _ d e v e l o p _ i n d e x . m d \ " : \ " C D P d L d X m \ " , \ " e n _ d e v e l o p _ p a c k a g e - m o d e l . m d \ " : \ " D 5 w i X v y a \ " , \ " e n _ d e v e l o p _ p h p - s r c - c h a n g e s . m d \ " : \ " C I U U e v P f \ " , \ " e n _ d e v e l o p _ r e g i s t r y . m d \ " : \ " B 5 t f 5 X n G \ " , \ " e n _ d e v e l o p _ s t r u c t u r e . m d \ " : \ " B 3 a Y 4 J 4 P \ " , \ " e n _ d e v e l o p _ s y s t e m - b u i l d - t o o l s . m d \ " : \ " a R 6 v g J M i \ " , \ " e n _ f a q _ i n d e x . m d \ " : \ " B u t q L R A C \ " , \ " e n _ g u i d e _ c l i - g e n e r a t o r . m d \ " : \ " B h 1 m n l d B \ " , \ " e n _ g u i d e _ c l i - r e f e r e n c e . m d \ " : \ " B 6 z U x F d M \ " , \ " e n _ g u i d e _ d e p s - m a p . m d \ " : \ " B 9 M 0 h 5 G J \ " , \ " e n _ g u i d e _ e n v - v a r s . m d \ " : \ " B 5 J O Z L 1 S \ " , \ " e n _ g u i d e _ e x t e n s i o n - n o t e s . m d \ " : \ " C 1 Q F g 1 E 9 \ " , \ " e n _ g u i d e _ e x t e n s i o n s . m d \ " : \ " C Y T 0 f X g d \ " , \ " e n _ g u i d e _ f i r s t - b u i l d . m d \ " : \ " C 3 L O d 7 9 t \ " , \ " e n _ g u i d e _ i n d e x . m d \ " : \ " C h r x 4 K g 2 \ " , \ " e n _ g u i d e _ i n s t a l l a t i o n . m d \ " : \ " D N c S r g I L \ " , \ " e n _ g u i d e _ m i g r a t e - f r o m - v 2 . m d \ " : \ " C f V y m F n T \ " , \ " e n _ g u i d e _ s a p i - r e f e r e n c e . m d \ " : \ " D x 3 F n m W 6 \ " , \ " e n _ g u i d e _ t r o u b l e s h o o t i n g . m d \ " : \ " M c 4 Z U z P - \ " , \ " e n _ i n d e x . m d \ " : \ " C Z z 4 h p 1 l \ " , \ " i n d e x . m d \ " : \ " D l o h U U j o \ " , \ " z h _ c o n t r i b u t i n g _ i n d e x . m d \ " : \ " B x N P L W 0 M \ " , \ " z h _ d e v e l o p _ a r t i f a c t - m o d e l . m d \ " : \ " B t c N B k 1 j \ " , \ " z h _ d e v e l o p _ b u i l d - l i f e c y c l e . m d \ " : \ " D 1 J b j v D B \ " , \ " z h _ d e v e l o p _ c r a f t - y m l . m d \ " : \ " o Q n 7 y Y _ F \ " , \ " z h _ d e v e l o p _ d o c t o r - m o d u l e . m d \ " : \ " D A z J o W w n \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ a n n o t a t i o n s . m d \ " : \ " D A a 7 F G 7 j \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ c u s t o m - a r t i f a c t . m d \ " : \ " B T E W H 7 K O \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ d e p e n d e n c y - i n j e c t i o n . m d \ " : \ " P L k r v 4 4 m \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ i n d e x . m d \ " : \ " B 4 7 8 M p x 4 \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ l i f e c y c l e - h o o k s . m d \ " : \ " B N d l H r B u \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ p a c k a g e - c l a s s e s . m d \ " : \ " C L o f M - p E \ " , \ " z h _ d e v e l o p _ i n d e x . m d \ " : \ " C Y r 9 2 Q 4 h \ " , \ " z h _ d e v e l o p _ p a c k a g e - m o d e l . m d \ " : \ " D Y R Z 8 a a f \ " , \ " z h _ d e v e l o p _ p h p - s r c - c h a n g e s . m d \ " : \ " Q I F U E Z H E \ " , \ " z h _ d e v e l o p _ r e g i s t r y . m d \ " : \ " B v R B m o G T \ " , \ " z h _ d e v e l o p _ s t r u c t u r e . m d \ " : \ " E p U h x f r R \ " , \ " z h _ d e v e l o p _ s y s t e m - b u i l d - t o o l s . m d \ " : \ " D E E E 1 r a f \ " , \ " z h _ f a q _ i n d e x . m d \ " : \ " D k T l d A 8 b \ " , \ " z h _ g u i d e _ c l i - g e n e r a t o r . m d \ " : \ " D j v j m 7 d Z \ " , \ " z h _ g u i d e _ c l i - r e f e r e n c e . m d \ " : \ " D M t t i e G z \ " , \ " z h _ g u i d e _ d e p s - m a p . m d \ " : \ " B s u d O L o r \ " , \ " z h _ g u i d e _ e n v - v a r s . m d \ " : \ " B s 7 2 W 9 9 k \ " , \ " z h _ g u i d e _ e x t e n s i o n - n o t e s . m d \ " : \ " D - K M l a i u \ " , \ " z h _ g u i d e _ e x t e n s i o n s . m d \ " : \ " C d F _ j 2 f u \ " , \ " z h _ g u i d e _ f i r s t - b u i l d . m d \ " : \ " C Q d F h K s g \ " , \ " z h _ g u i d e _ i n d e x . m d \ " : \ " B 1 j s b 7 X J \ " , \ " z h _ g u i d e _ i n s t a l l a t i o n . m d \ " : \ " A p 2 s n x X u \ " , \ " z h _ g u i d e _ m i g r a t e - f r o m - v 2 . m d \ " : \ " D f 8 w n m f P \ " , \ " z h _ g u i d e _ s a p i - r e f e r e n c e . m d \ " : \ " D X v 5 e V 6 I \ " , \ " z h _ g u i d e _ t r o u b l e s h o o t i n g . m d \ " : \ " C u e H H Z k W \ " , \ " z h _ i n d e x . m d \ " : \ " C k W I e J B 6 \ " } " ) ; w i n d o w . _ _ V P _ S I T E _ D A T A _ _ = J S O N . p a r s e ( " { \ " l a n g \ " : \ " e n - U S \ " , \ " d i r \ " : \ " l t r \ " , \ " t i t l e \ " : \ " S t a t i c P H P \ " , \ " d e s c r i p t i o n \ " : \ " A p o w e r f u l t o o l d e s i g n e d f o r b u i l d i n g p o r t a b l e e x e c u t a b l e s i n c l u d i n g P H P , e x t e n s i o n s , a n d m o r e . \ " , \ " b a s e \ " : \ " / \ " , \ " h e a d \ " : [ ] , \ " r o u t e r \ " : { \ " p r e f e t c h L i n k s \ " : t r u e } , \ " a p p e a r a n c e \ " : t r u e , \ " t h e m e C o n f i g \ " : { \ " l o g o \ " : \ " / i m a g e s / s t a t i c - p h p _ n o b g . p n g \ " , \ " n a v \ " : [ ] , \ " s o c i a l L i n k s \ " : [ { \ " i c o n \ " : \ " g i t h u b \ " , \ " l i n k \ " : \ " 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 \ " } ] , \ " f o o t e r \ " : { \ " m e s s a g e \ " : \ " R e l e a s e d u n d e r t h e M I T L i c e n s e . \ " , \ " c o p y r i g h t \ " : \ " C o p y r i g h t © 2 0 2 3 - p r e s e n t c r a z y w h a l e c c \ " } , \ " e x t e r n a l L i n k I c o n \ " : t r u e , \ " s e a r c h \ " : { \ " p r o v i d e r \ " : \ " a l g o l i a \ " , \ " o p t i o n s \ " : { \ " a p p I d \ " : \ " I H J H U B 1 S F 1 \ " , \ " a p i K e y \ " : \ " 8 2 6 6 d 3 1 c c 2 f f b d 0 e 0 5 9 f 1 c 6 e 5 b d a f 8 f c \ " , \ " i n d e x N a m e \ " : \ " s t a t i c - p h p d o c s \ " , \ " a s k A i \ " : { \ " a s s i s t a n t I d \ " : \ " b 7 2 3 6 9 b 2 - 6 0 a 5 - 4 6 1 d - 9 0 2 c - 5 c 1 8 d 8 c 0 5 9 0 2 \ " , \ " a g e n t S t u d i o \ " : t r u e , \ " s i d e P a n e l \ " : t r u e } } } } , \ " l o c a l e s \ " : { \ " e n \ " : { \ " l a b e l \ " : \ " E n g l i s h \ " , \ " l a n g \ " : \ " e n \ " , \ " t h e m e C o n f i g \ " : { \ " n a v \ " : [ { \ " t e x t \ " : \ " G u i d e \ " , \ " l i n k \ " : \ " / e n / g u i d e / \ " } , { \ " t e x t \ " : \ " D e v e l o p \ " , \ " l i n k \ " : \ " / e n / d e v e l o p / \ " } , { \ " t e x t \ " : \ " C o n t r i b u t i n g \ " , \ " l i n k \ " : \ " / e n / c o n t r i b u t i n g / \ " } , { \ " t e x t \ " : \ " F A Q \ " , \ " l i n k \ " : \ " / e n / f a q / \ " } , { \ " t e x t \ " : \ " v 3 ( a l p h a ) \ " , \ " i t e m s \ " : [ { \ " t e x t \ " : \ " v 3 ( a l p h a ) \ " , \ " l i n k \ " : \ " / e n / \
2026-05-11 05:18:54 +00:00
< / body >
< / html >