Developer Guide
This section covers the StaticPHP development workflow and the foundational knowledge needed to understand how StaticPHP works under the hood.
Overview
StaticPHP is a binary build tool whose core purpose is managing the build pipeline — downloading and configuring PHP source code, resolving extension dependencies, and invoking the underlying build system (e.g., Docker or a local compiler).
From a development perspective, StaticPHP is an open framework that provides the ability to statically build PHP and other open-source tools together. The project is maintained by @crazywhalecc and @henderkes, with contributions from the community.
You can think of StaticPHP as a typical PHP CLI project built on symfony/console.
Development Environment
To get started with StaticPHP development, you'll need a PHP development environment with the required dependencies installed.
Requirements:
- PHP 8.4 or later
- Composer
- Git
- PHP extensions:
curl, dom, filter, mbstring, openssl, pcntl, phar, posix, sodium, tokenizer, xml, xmlwriter
These PHP extensions are required for StaticPHP's
devenvironment.
Setup Steps
Clone the repository:
bashgit clone https://github.com/crazywhalecc/static-php-cli.git cd static-php-cliInstall PHP dependencies:
bashcomposer installVerify the setup:
bashbin/spc --version
You can continue reading Project Structure to learn more about StaticPHP's framework architecture.
