FrankenPHP en FlyEnv
FrankenPHP es un servidor de aplicaciones PHP moderno construido sobre Caddy: integra un runtime de PHP completo y sirve aplicaciones PHP directamente, sin un proceso PHP-FPM separado. FlyEnv lo gestiona como un módulo dedicado: instala varias versiones de FrankenPHP, inícialas y deténlas como servicios, edita el Caddyfile y lee los logs sin salir de la app. Tus sitios obtienen su propio puerto y HTTPS automático desde el primer momento, sin ningún PHP-FPM que configurar.

Gestión de versiones de FrankenPHP
Instala y mantén varias versiones de FrankenPHP en paralelo desde la pestaña Version Manager (Gestor de versiones).
- Fuentes de instalación: builds estáticos en macOS, Linux y Windows, además de Homebrew en macOS y Linux — FlyEnv añade automáticamente el tap
dunglas/frankenphppara que la fórmula esté disponible. MacPorts y SDKMAN no se utilizan para FrankenPHP. - Instalaciones estáticas en macOS y Linux: FlyEnv descarga el binario único de FrankenPHP, lo copia en su lugar, lo marca como ejecutable y elimina el atributo de cuarentena de macOS para que pueda ejecutarse.
- Instalaciones estáticas en Windows: FrankenPHP se distribuye como un archivo comprimido que incluye un runtime de PHP completo. Durante la instalación, FlyEnv genera automáticamente un
php.inia partir de una plantilla, activando solo las extensiones realmente presentes en el directorioext/incluido. - Columnas de versión de PHP y Caddy: la tabla de versiones analiza
frankenphp --versiony muestra tanto la versión de PHP integrada como la versión de Caddy de cada build instalado, de modo que siempre sabes exactamente qué runtime lleva cada versión de FrankenPHP. - Acciones por versión: abre el directorio de la versión en el gestor de archivos y, en Windows, edita también el
php.iniincluido mediante el mismo diálogo de configuración que usa el módulo PHP.

Gestión del servicio
La pestaña Service (Servicio) lista cada versión instalada de FrankenPHP con controles de inicio, parada y reinicio, junto con la información de versiones de PHP y Caddy descrita arriba.
- FlyEnv lanza una versión con
frankenphp run --config <baseDir>/frankenphp/Caddyfile --pidfile …, de modo que el proceso se rastrea mediante el pidfile y puede detenerse limpiamente. - En Linux, el servicio se inicia a través del helper de root de FlyEnv cuando se necesitan privilegios elevados.
- FrankenPHP sirve sitios PHP directamente a través de su motor Caddy integrado — no hay ningún proceso PHP-FPM que instalar, configurar o mantener en ejecución.

Configuración
La pestaña Config File (Archivo de configuración) edita el Caddyfile global con el que se ejecuta FrankenPHP.
- Editor de texto plano: el Caddyfile se edita como texto sin formato — FlyEnv no lo envuelve en un formulario.
- Basado en plantilla: el archivo se genera a partir de una plantilla (disponible en inglés y chino) e importa todos los vhost de los sitios desde
vhost/frankenphp/*, de modo que la configuración de los sitios permanece separada de los ajustes globales. php.inien Windows: como los builds de FrankenPHP para Windows incluyen su propio runtime de PHP, elphp.inide la versión puede abrirse y ajustarse desde el menú de acciones de la versión usando el diálogo de configuración del módulo PHP.

Integración con sitios
Los sitios de tipo PHP creados en Host obtienen automáticamente un vhost de FrankenPHP con la directiva php_server, por lo que se ejecutan como aplicaciones FrankenPHP reales en lugar de una simple entrega de archivos estáticos — la solución Laravel muestra un stack de framework completo funcionando con este tipo de configuración.
- Puertos por sitio: cada sitio obtiene su propio puerto dedicado de FrankenPHP (
port.frankenphp), de modo que FrankenPHP puede servir el mismo sitio en paralelo con Nginx, Apache o Caddy. Los sitios creados antes de que existiera este comportamiento recurren al puerto compartido de Caddy. - HTTPS automático: los vhosts incluyen
tls internal, lo que otorga a cada sitio un certificado de confianza local sin configuración adicional; los dominios y certificados de los sitios se tratan en Sitios locales, dominios personalizados y HTTPS. - Proxy inverso por sitio: un sitio puede, en su lugar, actuar como proxy inverso hacia otro servicio local a través de su vhost de FrankenPHP.
- Vhosts autorregenerados: cuando se inicia una versión de FrankenPHP, FlyEnv regenera cualquier vhost de sitio que falte antes de lanzar el proceso.
Para una visión más amplia de cuándo elegir FrankenPHP frente a PHP-FPM, RoadRunner o Swoole, consulta la guía de despliegue de PHP.
Logs
La pestaña Log sigue frankenphp.log y también enumera cada archivo frankenphp-*.log en el directorio base de FrankenPHP, de modo que los logs específicos de cada versión y de cada sitio se pueden leer en un solo lugar.

Guías, soluciones y demos relacionados
Continúa con una guía práctica, una solución, una demo o una perspectiva de la comunidad.
Notas de compatibilidad
FlyEnv gestiona el runtime de FrankenPHP, su configuración y su integración con los sitios; no garantiza que cada versión de FrankenPHP o cada extensión de PHP incluida esté disponible en todos los sistemas operativos. MacPorts y SDKMAN no son fuentes de instalación para este módulo, y FrankenPHP no ofrece panel de administración — verificar los requisitos del framework y de las extensiones contra el build instalado sigue siendo responsabilidad del proyecto. Toma la página de descarga y las notas de la versión actual como referencia de los paquetes soportados.