Standalone binaries (embed) and static builds for Windows
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 11.3k
- Forks
- 488
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 11
Description
Describe your feature request
Is your feature request related to a problem? Please describe.
Since #2119 (v1.12), FrankenPHP runs natively on Windows, but standalone app binaries (embed) and static builds remain Linux/macOS only: the frankenphp SAPI of static-php-cli isn't available on Windows, and build-static.sh is a Bash script. Distributing a self-contained .exe (app + PHP + Caddy) is currently impossible.
Describe the solution you'd like
Support creating standalone Windows binaries:
- add Windows support to the
frankenphpSAPI in static-php-cli, which already builds static PHP with MSVC on Windows for itscliandmicroSAPIs; - provide a Windows counterpart to
build-static.sh(e.g. PowerShell). The Go side (embedding the app as a tarball viago:embed) should work on Windows as-is now that FrankenPHP compiles there with Clang against MSVC-built PHP (Go 1.26).
Describe alternatives you've considered
- Building Linux binaries from Windows via Docker or WSL (works today);
- Shipping the Windows release archive (
frankenphp.exe+ official PHP binaries) next to the app, which is not a single binary.
Related docs PRs: #2500, #2501.
Update: static-php-cli main (v3, unreleased) already ships a Windows build stage for the frankenphp target, so the remaining work is mostly on the FrankenPHP side (build script, docs, CI).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with build-static.sh and the existing embed and static documentation to map the current Linux/macOS flow. Then identify the Windows build and CI entry points; done means a Windows counterpart can produce a self-contained .exe, with the relevant docs and CI coverage updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, go, powershell
- Domain
- build-system, ci-cd, documentation
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100