Repolode
hhxsv5

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. 1

    Instala el paquete mediante Composer

    composer require "hhxsv5/laravel-s:~3.8.0"
  2. 2

    Publica la configuración y los binarios

    php artisan laravels publish
  3. 3

    Ajusta listen_ip y listen_port en config/laravels.php según sea necesario

  4. 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