Caddy es un servidor web extensible escrito en Go que sirve HTTP/1.1, HTTP/2 y HTTP/3, y habilita HTTPS automáticamente de forma predeterminada.
php/frankenphp
Servidor de aplicaciones PHP moderno basado en Caddy, con modo worker, Early Hints, HTTP/3 y HTTPS automático.
- Estrellas
- 11,441
- Forks
- 498
- Issues abiertos
- 117
- Último commit
- hace 11 horas
¿Qué es?
FrankenPHP es un servidor de aplicaciones para PHP, escrito en Go y basado en el servidor web Caddy. Ejecuta cualquier aplicación PHP y ofrece el modo worker, que mantiene la aplicación cargada en memoria entre solicitudes, además de Early Hints, soporte en tiempo real mediante Mercure y recarga en caliente. También incluye HTTPS automático, HTTP/2 y HTTP/3.
El proyecto se distribuye como binario independiente para Linux, macOS (Apple Silicon) y Windows. También hay paquetes rpm, deb y apk, Homebrew y Docker images. Laravel y Symfony cuentan con integraciones oficiales para el modo worker. FrankenPHP también puede usarse como biblioteca de Go para integrar PHP en una aplicación que utilice net/http.
El proyecto ofrece comandos como `frankenphp php-server` para servir un directorio y `frankenphp php-cli` para ejecutar scripts. También permite crear aplicaciones PHP autónomas y binarios estáticos, y escribir extensiones de PHP en Go.
Funciones clave
- 01El modo worker mantiene las aplicaciones cargadas entre solicitudes.
- 02Compatibilidad con Early Hints (código de estado 103), HTTP/2 y HTTP/3.
- 03HTTPS automático y capacidades en tiempo real mediante Mercure.
- 04Recarga en caliente durante el desarrollo.
- 05Binarios independientes, paquetes de sistema e imágenes de Docker.
Casos de uso
- Ejecutar aplicaciones Laravel o Symfony en modo worker para mejorar el rendimiento.
- Sustituir una configuración de Nginx y PHP-FPM por un único binario de servidor.
- Integrar PHP en un servicio de Go mediante net/http.
- Empaquetar una aplicación PHP como binario autoejecutable.
Inicio rápido
- 1
Instala FrankenPHP con Homebrew
brew install dunglas/frankenphp/frankenphp - 2
Sirve el directorio actual
frankenphp php-server - 3
Abre https://localhost en el navegador y acepta el certificado autofirmado
Antes de usarlo
- El binario independiente para macOS solo es compatible con Apple Silicon.
- HTTPS local usa un certificado autofirmado que debes aceptar manualmente.
Temas
Preguntas frecuentes
- ¿Qué es frankenphp?
- Servidor de aplicaciones PHP moderno basado en Caddy, con modo worker, Early Hints, HTTP/3 y HTTPS automático. FrankenPHP es un servidor de aplicaciones para PHP, escrito en Go y basado en el servidor web Caddy. Ejecuta cualquier aplicación PHP y ofrece el modo worker, que mantiene la aplicación cargada en memoria entre solicitudes, además de Early Hints, soporte en tiempo real mediante Mercure y recarga en caliente. También incluye HTTPS automático, HTTP/2 y HTTP/3.
- ¿frankenphp es gratuito? ¿Qué licencia tiene?
- frankenphp es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿frankenphp sigue mantenido?
- Mantenimiento activo. El último commit de frankenphp fue el 21 oct 2026.
- ¿Para qué puedo usar frankenphp?
- Ejecutar aplicaciones Laravel o Symfony en modo worker para mejorar el rendimiento. Sustituir una configuración de Nginx y PHP-FPM por un único binario de servidor. Integrar PHP en un servicio de Go mediante net/http. Empaquetar una aplicación PHP como binario autoejecutable.
- ¿Cómo se instala frankenphp?
- Instala FrankenPHP con Homebrew: brew install dunglas/frankenphp/frankenphp Sirve el directorio actual: frankenphp php-server Abre https://localhost en el navegador y acepta el certificado autofirmado
- ¿Dónde consigo frankenphp?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/php/frankenphp
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Servidor web de alto rendimiento, proxy inverso, balanceador de carga, API gateway y caché de contenido escrito en C.
Un framework web minimalista y de alto rendimiento para Go, basado en el paquete estándar net/http.
Runtime de JavaScript, TypeScript y WebAssembly con valores predeterminados seguros, basado en V8, Rust y Tokio.
Cliente HTTP para JVM, Android y GraalVM que reutiliza conexiones, admite HTTP/2 y almacena respuestas en caché de forma predeterminada.
Servidor ligero de autenticación y autorización que funciona como middleware para Traefik, Nginx y Caddy, o como servidor de inicio de sesión SSO independiente.