micro SAPI 让 PHP 可以自执行,允许你在没有安装 PHP 的情况下运行 php-cli 应用。
micro 是 PHP 的一个 SAPI 模块,允许你创建自执行的 PHP 二进制文件。 通过将 micro SAPI 二进制文件与你的 PHP 源代码或 PHAR 文件连接, 你可以在不需要单独安装 PHP 的情况下运行 PHP 应用程序。
micro SAPI 的工作方式类似于内置的 CLI SAPI,你可以使用它运行几乎所有基于 CLI 的 PHP 应用程序。
我们推荐使用 static-php-cli 构建 micro SAPI,以便包含像 pdo、openssl、mbstring 等流行的扩展。
你可以先尝试由 static-php.dev 服务器托管的预构建 micro SAPI 二进制文件:
| 平台 | 下载链接 |
|---|---|
| Linux x86_64 | micro.sfx |
| Linux aarch64 | micro.sfx |
| Windows x86_64 | micro.sfx |
| macOS x86_64 | micro.sfx |
| macOS arm64 | micro.sfx |
然后准备你的 PHP 代码或 PHAR cli 应用归档文件,并将它们连接起来:
<?php // myapp.php
echo "Hello, this is my awesome app." . PHP_EOL;# 在 Linux/macOS 上:
cat /path/to/micro.sfx myapp.php > myapp
chmod +x ./myapp
./myapp
# 显示 "hello, this is my awesome app."
# 或在 Windows 上:
COPY /b \path\to\micro.sfx + myapp.php myapp.exe
.\myapp.exe
# 显示 "hello, this is my awesome app."由于我们需要将 micro.sfx 构建为独立且可移植的二进制文件,最好的方法是静态构建。 这将确保它可以在大多数系统上运行,而不必担心缺少共享库。
你可以按照 static-php.dev 文档中的步骤构建自己的包含 micro SAPI 的静态 PHP 二进制文件:
- 首先,按照安装指南下载并安装 static-php-cli。
- 接下来,使用
spc命令构建包含 micro SAPI 的静态 PHP 二进制文件:
# linux/macOS
EXTENSIONS="bcmath,phar,openssl,mbstring"
./spc doctor --auto-fix
./spc download --for-extensions=$EXTENSIONS --with-php=8.4
./spc build $EXTENSIONS --build-micro
cp buildroot/bin/micro.sfx /path/to/your/micro.sfx
# windows (PowerShell)
.\spc.exe doctor --auto-fix
.\spc.exe download --for-extensions="bcmath,phar,openssl,mbstring" --with-php=8.4
.\spc.exe build "bcmath,phar,openssl,mbstring" --build-micro
copy .\buildroot\bin\micro.sfx \path\to\your\micro.sfx有关 micro SAPI 的更多详细信息,如动态构建 micro、构建多文件应用、更多配置方式等,请参阅 https://micro.static-php.dev 文档。
本项目采用 Apache-2.0 许可证。详情请参见 LICENSE 文件。
使用 static-php-cli 构建静态 PHP 时,生成的二进制文件可能包含其他开源组件。 请参考 static-php-cli LICENSE 说明。
