FrankenPHP 1.12.6 ist ein Bugfix-Release, das einen Absturz behebt, der bei Betrieb über HTTP/2 den gesamten Prozess zum Erliegen bringen konnte.

Der Fehler trat auf, wenn ein PHP-Skript frankenphp_finish_request() aufrief — oder seinen Kontext anderweitig vorzeitig schloss — und danach verzögert php://input las, ein Muster, das bei enable_post_data_reading=Off häufig vorkommt. FrankenPHP versuchte dabei, eine Lese-Deadline auf einen bereits abgeschlossenen HTTP/2-Stream zu setzen, dereferenzierte den genullten Stream-Status und stürzte mit einem Segfault ab. HTTP/1-Verbindungen waren nicht betroffen.

Der Fix von @dunglas in Pull Request #2538 überspringt das Setzen der Read-Deadline, sobald der Request-Kontext abgeschlossen ist, und löst Issue #2535. Allen, die FrankenPHP über HTTP/2 betreiben, wird ein Update empfohlen.

Das Release enthält außerdem Dokumentationsänderungen: ein neues PSR-15-Worker-Beispiel von @dunglas (#2539), die Entfernung von Title Case in den Docs durch @alexandre-daubois (#2534) sowie aktualisierte Übersetzungen (#2537). Das vollständige Changelog vergleicht v1.12.5 mit v1.12.6.