Download Latest Version frankenphp-windows-x86_64.zip (59.4 MB)
Email in envelope

Get an email when there's a new version of FrankenPHP

Home / v1.12.6
Name Modified Size InfoDownloads / Week
Parent folder
frankenphp-mac-x86_64 2026-07-22 187.9 MB
frankenphp-linux-x86_64 2026-07-22 173.1 MB
frankenphp-linux-x86_64-mimalloc 2026-07-22 173.1 MB
frankenphp-mac-arm64 2026-07-22 177.9 MB
frankenphp-linux-x86_64-gnu 2026-07-22 167.3 MB
frankenphp-linux-aarch64-gnu 2026-07-22 160.6 MB
frankenphp-linux-aarch64 2026-07-22 164.4 MB
frankenphp-linux-x86_64-debug 2026-07-20 224.6 MB
frankenphp-windows-x86_64.zip 2026-07-20 59.2 MB
README.md 2026-07-20 1.2 kB
v1.12.6 source code.tar.gz 2026-07-20 3.8 MB
v1.12.6 source code.zip 2026-07-20 4.0 MB
Totals: 12 Items   1.5 GB 9

FrankenPHP 1.12.6 fixes a crash that could take down the whole process on HTTP/2. If a PHP script calls frankenphp_finish_request() (or closes its context early) and then lazily reads php://input — common with enable_post_data_reading=Off — FrankenPHP set a read deadline on an already-finalized HTTP/2 stream and segfaulted. HTTP/1 was unaffected. Anyone serving over HTTP/2 should upgrade.

🐛 Bug Fixes

  • HTTP/2: Don't set a request body read deadline after the request is finished. Reading php://input after frankenphp_finish_request() dereferenced the nil'd-out HTTP/2 stream state and crashed the process; the deadline is now skipped once the context is done by @dunglas in #2538. Fixes #2535.

📖 Documentation

  • Add a PSR-15 worker example by @dunglas in #2539.
  • Remove title case in docs by @alexandre-daubois in #2534.
  • Update translations by @github-actions in #2537.

Full Changelog: https://github.com/php/frankenphp/compare/v1.12.5...v1.12.6

Source: README.md, updated 2026-07-20