{"id":338,"date":"2026-06-12T08:08:46","date_gmt":"2026-06-12T12:08:46","guid":{"rendered":"https:\/\/juredev.com\/blog\/?p=338"},"modified":"2026-06-12T08:08:47","modified_gmt":"2026-06-12T12:08:47","slug":"cuando-php-dejo-de-reiniciarse-en-cada-peticion","status":"publish","type":"post","link":"https:\/\/juredev.com\/blog\/2026\/06\/cuando-php-dejo-de-reiniciarse-en-cada-peticion\/","title":{"rendered":"Cuando PHP dej\u00f3 de reiniciarse en cada petici\u00f3n"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Durante a\u00f1os, la forma de trabajar con PHP fue casi inmutable: un servidor web (Nginx o Apache) recibiendo las peticiones y PHP-FPM ejecutando la aplicaci\u00f3n (Symfony, Laravel, WordPress\u2026) desde cero en cada solicitud.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Era un modelo sencillo, predecible y sorprendentemente robusto. Precisamente esa caracter\u00edstica, arrancar limpio en cada petici\u00f3n, ayud\u00f3 a PHP a dominar gran parte de la web. Al eliminar el estado compartido entre peticiones, desaparec\u00edan de un plumazo muchos problemas cl\u00e1sicos de memoria, concurrencia y efectos secundarios entre usuarios.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pero el ecosistema est\u00e1 cambiando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La llegada de <strong>FrankenPHP<\/strong> y su adopci\u00f3n cada vez m\u00e1s seria por parte de Symfony plantean una pregunta que hace solo dos a\u00f1os parec\u00eda casi her\u00e9tica: \u00bfseguimos necesitando PHP-FPM como pieza central de nuestras aplicaciones modernas?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">PHP-FPM no es el enemigo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de seguir, es importante dejarlo claro: <strong>PHP-FPM no es un problema que necesite ser reemplazado urgentemente<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Durante d\u00e9cadas ha proporcionado aislamiento perfecto entre peticiones, estabilidad operativa, compatibilidad universal y un modelo mental que cualquier desarrollador entiende en minutos. La gran mayor\u00eda de aplicaciones empresariales funcionan excelente con esta arquitectura y seguir\u00e1n haci\u00e9ndolo durante muchos a\u00f1os m\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hablar del \u00abfin de PHP-FPM\u00bb es, en la mayor\u00eda de casos, una exageraci\u00f3n. Lo que s\u00ed estamos viendo es el nacimiento de una alternativa que ya empieza a ser lo suficientemente madura como para tom\u00e1rsela muy en serio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El cambio real no es FrankenPHP, es el modelo de ejecuci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Muchos se centran en FrankenPHP como herramienta, pero el verdadero salto est\u00e1 en lo que representa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FrankenPHP es un servidor de aplicaciones escrito en Go que unifica en un solo binario lo que antes eran Nginx + PHP-FPM. Trae HTTPS autom\u00e1tico, HTTP\/3 y, sobre todo, un Worker Mode que mantiene la aplicaci\u00f3n Symfony cargada en memoria entre peticiones. El contenedor de servicios, la configuraci\u00f3n y gran parte del bootstrap dejan de reconstruirse cada vez.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las ventajas t\u00e9cnicas son evidentes: menos consumo de CPU, latencia m\u00e1s baja y mejor aprovechamiento de recursos. Pero la consecuencia m\u00e1s profunda es otra: <strong>PHP empieza a comportarse como plataformas que hist\u00f3ricamente consider\u00e1bamos \u00abm\u00e1s modernas\u00bb<\/strong> (Node.js, Go, Java, etc.).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La pregunta deja de ser \u00ab\u00bfc\u00f3mo hacemos que arranque m\u00e1s r\u00e1pido?\u00bb y pasa a ser \u00ab\u00bfc\u00f3mo gestionamos correctamente un proceso que nunca se detiene?\u00bb.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La velocidad tiene un precio<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El modelo tradicional de PHP ten\u00eda una ventaja enorme que mucha gente no valoraba lo suficiente: el estado era ef\u00edmero por dise\u00f1o. Si algo se corromp\u00eda, la siguiente petici\u00f3n empezaba desde cero.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando la aplicaci\u00f3n vive permanentemente en memoria, esa red de seguridad desaparece. De repente aparecen responsabilidades que los desarrolladores PHP llevamos d\u00e9cadas sin tener que gestionar activamente:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gesti\u00f3n expl\u00edcita del estado entre peticiones<\/li>\n\n\n\n<li>Prevenci\u00f3n de fugas de memoria a largo plazo<\/li>\n\n\n\n<li>Servicios realmente stateless (no solo de nombre)<\/li>\n\n\n\n<li>Ciclos de vida m\u00e1s complejos para conexiones a bases de datos, cach\u00e9s y otros recursos compartidos<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No es imposible, <em>Node.js y Go llevan a\u00f1os viviendo en este mundo<\/em>, pero exige una mentalidad distinta, nuevas herramientas y un conocimiento m\u00e1s profundo del comportamiento interno de nuestras aplicaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La velocidad no viene gratis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Symfony 7.4: m\u00e1s que nuevas features, una direcci\u00f3n clara<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que m\u00e1s me gusta de Symfony 7.4 no es ninguna funcionalidad concreta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es la sensaci\u00f3n de que el framework est\u00e1 tomando conscientemente una direcci\u00f3n alineada con hacia d\u00f3nde se mueve toda la industria. La integraci\u00f3n nativa con FrankenPHP, los nuevos entornos Docker optimizados para Dev Containers, las mejoras de developer experience (PHP 8.4, clases <code>readonly<\/code>, atributos como <code>#[MapRequestPayload]<\/code> que eliminan boilerplate real) y la apertura hacia herramientas de IA forman un conjunto coherente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Symfony ya no solo se pregunta c\u00f3mo construir aplicaciones robustas. Tambi\u00e9n se pregunta c\u00f3mo construirlas m\u00e1s r\u00e1pido, desplegarlas con menos fricci\u00f3n y permitir que los equipos ganen autonom\u00eda real. La experiencia del desarrollador se est\u00e1 convirtiendo en una ventaja competitiva de primer orden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La IA como parte natural del entorno<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hace solo dos a\u00f1os, integrar asistentes de IA en el d\u00eda a d\u00eda parec\u00eda algo experimental. Hoy estamos viendo entornos que directamente asumen que estos agentes van a formar parte habitual del ciclo: generando c\u00f3digo, analizando proyectos, ejecutando tareas repetitivas en espacios controlados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No creo que la IA vaya a sustituir a los desarrolladores en el corto o medio plazo (al menos no de la forma sensacionalista que suele contarse). Pero s\u00ed estoy convencido de que quienes aprendan a trabajar junto a estos sistemas, <em>integr\u00e1ndolos de verdad en su flujo<\/em>, tendr\u00e1n una ventaja significativa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Que Symfony est\u00e9 preparando su ecosistema para este escenario no es un detalle menor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">De d\u00f3nde venimos y hacia d\u00f3nde vamos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">PHP-FPM no va a desaparecer de la noche a la ma\u00f1ana. FrankenPHP tampoco va a reemplazar la arquitectura cl\u00e1sica en todos los proyectos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, creo que estamos ante uno de los cambios m\u00e1s importantes en la evoluci\u00f3n de PHP desde la llegada de Composer. Por primera vez en mucho tiempo, la conversaci\u00f3n no gira solo en torno a frameworks o librer\u00edas, sino sobre los propios fundamentos de c\u00f3mo se ejecutan nuestras aplicaciones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es posible que dentro de cinco a\u00f1os sigamos usando PHP-FPM en miles de sistemas legacy y nuevos proyectos conservadores. Pero tambi\u00e9n es probable que miremos atr\u00e1s y veamos en Symfony 7.4 y FrankenPHP el punto de inflexi\u00f3n en el que PHP dej\u00f3 definitivamente atr\u00e1s el modelo que lo acompa\u00f1\u00f3 durante m\u00e1s de veinte a\u00f1os.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ese cambio, con todo lo que implica, merece nuestra atenci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Durante a\u00f1os, la forma de trabajar con PHP fue casi inmutable: un servidor web (Nginx o Apache) recibiendo las peticiones y PHP-FPM ejecutando la aplicaci\u00f3n (Symfony, Laravel, WordPress\u2026) desde cero en cada solicitud. Era un modelo sencillo, predecible y sorprendentemente robusto. Precisamente esa caracter\u00edstica, arrancar limpio en cada petici\u00f3n, ayud\u00f3 a PHP a dominar gran [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[135,15],"class_list":["post-338","post","type-post","status-publish","format-standard","hentry","category-nota","tag-opinion","tag-php"],"_links":{"self":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/posts\/338","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/comments?post=338"}],"version-history":[{"count":0,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/posts\/338\/revisions"}],"wp:attachment":[{"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/media?parent=338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/categories?post=338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/juredev.com\/blog\/wp-json\/wp\/v2\/tags?post=338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}