€0.00 — free as in speechtonight's forecast: clear skies over production Cache: warm · Deploys: fair, 0% rollbacks expectedset by moonlight, shipped before dawn · deploy freely Page A2

The Daily Commit The Nightly Build

Dev news, typeset daily — PHP · AI · The Wider Stack

The developer's evening paper — PHP · AI · The Wider Stack

miércoles, 9 de septiembre de 2026 Vol. I — No. 511 · Edición matinalEdición vespertina EN DE FR ES

PHP · Lanzamientos

FrankenPHP 1.12.7 corrige la pérdida de salida tras finish_request()

FrankenPHP 1.12.7 ya está disponible.

seleccionado por Sönke

Este parche corrige un fallo del modo clásico que descartaba en silencio la salida escrita después de fastcgi_finish_request(), corrige una métrica de hilos, reduce el registro de desconexiones de clientes y elimina un hook de reinicio del opcache.

FrankenPHP 1.12.7 corrige la pérdida de salida tras finish_request()
Captura: FrankenPHP Releases ↗

FrankenPHP 1.12.7 salió el 7 de agosto y soluciona cinco fallos, además de sumar una aclaración a la documentación.

La corrección principal afecta al modo clásico, sin worker. Hasta ahora, cualquier salida escrita tras invocar fastcgi_finish_request() o frankenphp_finish_request() desaparecía sin aviso. Como ignore_user_abort viene activado por defecto, el runtime interpretaba un echo tardío como señal de desconexión y detenía el script a mitad de camino. Kévin Dunglas lo resolvió en la pull request #2569, cerrando así el issue #2548.

Primera contribución de @ousamabenyounes: la métrica frankenphp_total_threads se acumulaba en vez de reflejar el número real de hilos activos, por lo que crecía sin límite. Ahora se comporta como un gauge auténtico (#2550, corrige #2481).

@AlliBalliBaba retiró de nuevo el hook que reiniciaba el runtime en cada invalidación del opcache. Reiniciar en cada reset podía desencadenar reinicios recursivos en cascada en frameworks que invalidan su caché con frecuencia (#2564).

Dunglas también bajó del nivel warn al nivel debug los errores rutinarios de escritura y flush por desconexión de clientes, alineando FrankenPHP con el comportamiento de Caddy y Mercure. Esos mensajes ya no llevan la etiqueta incorrecta «not a flusher» (#2589).

En el build, @henderkes hizo que go.sh tenga en cuenta la variable de entorno PHP_CONFIG (#2557). La documentación ahora explica por qué la espera tras un force-kill debe seguir siendo ilimitada (#2577).

El changelog completo, de v1.12.6 a v1.12.7, está disponible en GitHub.

Leer la fuente original (en inglés) ↗

Valora este artículo: 0

Tribuna de lectores

Aún no hay aportaciones — abre el debate.

The Daily CommitThe Nightly Build — Page A1