Framework de API REST para PHP 8+ que genera rutas, validaciones y documentación OpenAPI a partir de métodos de clase mediante reflexión.
hhxsv5/laravel-s
Adaptador para ejecutar aplicaciones Laravel y Lumen en Swoole como un servidor PHP persistente y residente en memoria, con soporte para WebSocket, TCP/UDP y tareas asíncronas.
- Estrellas
- 3,879
- Forks
- 463
- Issues abiertos
- 70
- Último commit
- hace 5 días
¿Qué es?
LaravelS conecta las aplicaciones Laravel y Lumen con Swoole para que una aplicación PHP pueda ejecutarse como un proceso de servidor persistente, en lugar de inicializarse en cada solicitud. Se instala mediante Composer, se publica con un solo comando de artisan y se inicia con el script bin/laravels, que administra los procesos master, manager, worker y task.
Además de atender solicitudes HTTP, el paquete incorpora un servidor WebSocket con una interfaz de handler, compatibilidad con protocolos mixtos en varios puertos para listeners TCP, UDP y HTTP personalizados, eventos asíncronos y colas de tareas, y tareas cron con precisión de milisegundos que pueden reemplazar Linux crontab. También ofrece procesos personalizados, memoria compartida SwooleTable y una configuración compatible con la recarga gradual y la recarga automática al detectar cambios en el código mediante inotify, fswatch o inotifywait.
El proyecto requiere PHP 8.2 o posterior, Swoole 5.0 o posterior, y Laravel o Lumen 10 o posterior. El README incluye ejemplos de configuración de proxy inverso para Nginx y Apache, para servir archivos estáticos junto al proceso de Swoole.
Funciones clave
- 01Servidor HTTP y WebSocket integrado, con una interfaz handler para los eventos WebSocket
- 02Compatibilidad con protocolos mixtos en varios puertos para listeners TCP, UDP y HTTP personalizados
- 03Listeners de eventos asíncronos y cola de tareas ejecutados en los task workers de Swoole
- 04Tareas cron con precisión de milisegundos que pueden reemplazar Linux crontab
- 05Recarga gradual y recarga automática tras cambios en el código
- 06Memoria compartida SwooleTable y procesos personalizados de larga duración
Casos de uso
- Servir una aplicación Laravel con workers persistentes para reducir el tiempo de inicialización en cada solicitud
- Añadir un canal de envío de mensajes WebSocket en tiempo real a una aplicación Laravel existente
- Crear servicios TCP o UDP personalizados que compartan código y acceso a la base de datos con una aplicación Laravel
- Reemplazar las entradas de Linux crontab por temporizadores en proceso con precisión de milisegundos y comandos programados de Laravel
Inicio rápido
- 1
Instala el paquete mediante Composer
composer require "hhxsv5/laravel-s:~3.8.0" - 2
Publica la configuración y los binarios
php artisan laravels publish - 3
Ajusta listen_ip y listen_port en config/laravels.php según sea necesario
- 4
Inicia LaravelS
php bin/laravels start
Antes de usarlo
- Requiere la extensión Swoole (>=5.0) y PHP >=8.2 con la extensión intl, por lo que no sustituye directamente al alojamiento estándar con PHP-FPM.
- Funciona como un servidor de larga duración residente en memoria, por lo que el código y el estado persisten entre solicitudes y requieren cuidado. Lee las notas importantes del README antes de ejecutarlo.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es laravel-s?
- Adaptador para ejecutar aplicaciones Laravel y Lumen en Swoole como un servidor PHP persistente y residente en memoria, con soporte para WebSocket, TCP/UDP y tareas asíncronas. LaravelS conecta las aplicaciones Laravel y Lumen con Swoole para que una aplicación PHP pueda ejecutarse como un proceso de servidor persistente, en lugar de inicializarse en cada solicitud. Se instala mediante Composer, se publica con un solo comando de artisan y se inicia con el script bin/laravels, que administra los procesos master, manager, worker y task.
- ¿laravel-s es gratuito? ¿Qué licencia tiene?
- laravel-s es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿laravel-s sigue mantenido?
- Mantenimiento activo. El último commit de laravel-s fue el 2 nov 2026.
- ¿Para qué puedo usar laravel-s?
- Servir una aplicación Laravel con workers persistentes para reducir el tiempo de inicialización en cada solicitud Añadir un canal de envío de mensajes WebSocket en tiempo real a una aplicación Laravel existente Crear servicios TCP o UDP personalizados que compartan código y acceso a la base de datos con una aplicación Laravel Reemplazar las entradas de Linux crontab por temporizadores en proceso con precisión de milisegundos y comandos programados de Laravel
- ¿Cómo se instala laravel-s?
- Instala el paquete mediante Composer: composer require "hhxsv5/laravel-s:~3.8.0" Publica la configuración y los binarios: php artisan laravels publish Ajusta listen_ip y listen_port en config/laravels.php según sea necesario Inicia LaravelS: php bin/laravels start
- ¿Dónde consigo laravel-s?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/hhxsv5/laravel-s
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Extensión de PHP que ofrece un motor de red basado en eventos y un entorno de ejecución de corutinas para crear servicios persistentes de TCP, UDP, HTTP y WebSocket.
Biblioteca de Python para programar tareas y gestionar colas, con triggers cron, por intervalo, de calendario y de ejecución única, y almacenes de trabajos persistentes opcionales.
Vapor es un framework HTTP para crear sitios web, API y servicios en la nube con Swift.
Servidor web en Rust con una configuración compacta, TLS automático y trazas por solicitud vinculadas a los registros, para sitios estáticos y proxies inversos.
Una pequeña herramienta CLI que convierte cualquier programa STDIN/STDOUT en un servidor WebSocket, como inetd para WebSockets.