Linux、macOS、Windows、BSD、BIOSでネイティブに動作する単一実行ファイルをビルドできるC標準ライブラリとツールチェーン。
crazywhalecc/static-php-cli
Linux、macOS、Windows向けに、選択した拡張機能を含む依存関係不要のPHPバイナリをビルドするCLIツール。
- スター
- 1,966
- フォーク
- 433
- 未解決の Issue
- 36
- 最終コミット
- 一昨日
これは何?
StaticPHP(リポジトリ名は引き続き static-php-cli)は、PHPインタプリタ、選択した拡張機能、関連コンポーネントを1つのファイルにまとめた、ポータブルなPHP実行ファイルをビルドします。生成されたバイナリは別のマシンにコピーして、PHPやその共有ライブラリをインストールせずに実行できます。
craft.yml ファイルでPHPのバージョンと拡張機能のリストを指定し、spc ツールを実行してコンパイルします。PHP 8.1~8.5に対応しており、8.6はプレリリース版です。また、通常の php-cli バイナリのほか、PHPのソースコードを埋め込んだ phpmicro の自己展開型実行ファイルも生成できます。組み込みの環境チェッカーで、不足しているビルド依存関係を検出してインストールできます。
サイズの異なる複数の組み合わせで、ビルド済みバイナリをダウンロードできます。また、カスタムの拡張機能リストを使ってビルドするための GitHub Actions ワークフローも用意されています。
主な機能
- 01実行時の依存関係がない、単一ファイルのPHP CLIバイナリをビルドします。
- 02PHPのソースコードを phpmicro の自己展開型実行ファイルにパッケージできます。
- 03PHP 8.1~8.5に対応しており、8.6はプレリリース版です。
- 04100種類以上のPHP拡張機能から選択できます。
- 05Linux、macOS、Windowsで動作します。
- 06自動修復機能付きのビルド環境チェッカーを備えています。
ユースケース
- PHPがインストールされていないサーバーに、PHP製のコマンドラインツールを配置する。
- PHPアプリケーションを単一の実行ファイルとしてエンドユーザーに配布する。
- コンテナや最小構成のLinuxイメージ向けに、軽量なPHPランタイムを作成する。
- CIパイプライン向けに、特定の拡張機能セットを含むPHPビルドを作成する。
クイックスタート
- 1
Linux x86_64 用の spc バイナリをダウンロードする
curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/nightly/spc-linux-x86_64 - 2
spc に実行権限を付与する
chmod +x ./spc - 3
PHP のバージョンと拡張機能を記載した craft.yml ファイルを作成する
- 4
craft.yml から静的 PHP をビルドする
./spc craft
使う前に知っておきたいこと
- v3 ブランチはまだ正式リリースではなく、PHP 8.6 はプレリリース版です。
- Windows ビルドには、事前に C++ ツールをインストールした Visual Studio 2022 が必要です。
収録されている特集
トピック
よくある質問
- static-php-cli とは?
- Linux、macOS、Windows向けに、選択した拡張機能を含む依存関係不要のPHPバイナリをビルドするCLIツール。 StaticPHP(リポジトリ名は引き続き static-php-cli)は、PHPインタプリタ、選択した拡張機能、関連コンポーネントを1つのファイルにまとめた、ポータブルなPHP実行ファイルをビルドします。生成されたバイナリは別のマシンにコピーして、PHPやその共有ライブラリをインストールせずに実行できます。
- static-php-cli は無料で使えますか?ライセンスは?
- static-php-cli は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- static-php-cli は今もメンテナンスされていますか?
- 活発にメンテナンス中。static-php-cli の最終コミットは 2026年11月5日 です。
- static-php-cli は何に使えますか?
- PHPがインストールされていないサーバーに、PHP製のコマンドラインツールを配置する。 PHPアプリケーションを単一の実行ファイルとしてエンドユーザーに配布する。 コンテナや最小構成のLinuxイメージ向けに、軽量なPHPランタイムを作成する。 CIパイプライン向けに、特定の拡張機能セットを含むPHPビルドを作成する。
- static-php-cli のインストール方法は?
- Linux x86_64 用の spc バイナリをダウンロードする: curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/nightly/spc-linux-x86_64 spc に実行権限を付与する: chmod +x ./spc PHP のバージョンと拡張機能を記載した craft.yml ファイルを作成する craft.yml から静的 PHP をビルドする: ./spc craft
- static-php-cli はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/crazywhalecc/static-php-cli
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
多数の形式に対応したデコーダーを備え、バイナリファイル形式を調査・クエリできる、jq風のコマンドラインツール兼クエリ言語。
コンパイル済みGoバイナリのサイズをパッケージ、セクション、シンボル別に分析し、テキスト、JSON、HTML、SVG、Web、ターミナルUIで出力するCLIツール。
Electronデスクトップアプリのプロジェクト作成からビルド、パッケージ化、公開までを支える総合ツールチェーン。
SConsは、再ビルドが必要な対象を判定し、ビルドに必要なコマンドを実行するPython製のソフトウェア構築ツールです。
Caddyをベースに構築されたモダンなPHPアプリケーションサーバー。ワーカーモード、Early Hints、HTTP/3、自動HTTPSに対応。