Repolode
crazywhalecc

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. 1

    Linux x86_64 用の spc バイナリをダウンロードする

    curl -fsSL -o spc https://dl.static-php.dev/v3/spc-bin/nightly/spc-linux-x86_64
  2. 2

    spc に実行権限を付与する

    chmod +x ./spc
  3. 3

    PHP のバージョンと拡張機能を記載した craft.yml ファイルを作成する

  4. 4

    craft.yml から静的 PHP をビルドする

    ./spc craft

使う前に知っておきたいこと

  • v3 ブランチはまだ正式リリースではなく、PHP 8.6 はプレリリース版です。
  • Windows ビルドには、事前に C++ ツールをインストールした Visual Studio 2022 が必要です。

収録されている特集

トピック

#php#static-binary#cli#build-tool#portable-executable#cross-platform#alpine#binary#frankenphp#php-cli

よくある質問

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風のコマンドラインツール兼クエリ言語。

開発ツール#binary#cli#jq
1.1万+4 今週257GoOther更新 一昨日