php / php/frankenphp

Standalone binaries (embed) and static builds for Windows

Open
#2,503 3 comments 0 reactions 0 assignees View on GitHub

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 frankenphp SAPI in static-php-cli, which already builds static PHP with MSVC on Windows for its cli and micro SAPIs;
  • provide a Windows counterpart to build-static.sh (e.g. PowerShell). The Go side (embedding the app as a tarball via go: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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.