Repolode
hhxsv5

hhxsv5/laravel-s

Um adaptador que executa aplicações Laravel e Lumen no Swoole como um servidor PHP persistente, com suporte a WebSocket, TCP/UDP e tarefas assíncronas.

Estrelas
3,879
Forks
463
Issues abertas
70
Último commit
há 5 dias

O que é?

O LaravelS conecta aplicações Laravel e Lumen ao Swoole, permitindo que um app PHP rode como um processo de servidor persistente, em vez de ser inicializado a cada requisição. A instalação é feita pelo Composer, a publicação é feita com um único comando artisan e a inicialização usa o script bin/laravels, que gerencia os processos master, manager, worker e task.

Além de servir HTTP, o pacote inclui um servidor WebSocket integrado com uma interface de handler, suporte a vários protocolos em múltiplas portas para listeners personalizados de TCP, UDP e HTTP, eventos assíncronos e filas de tarefas, além de tarefas cron com precisão de milissegundos que podem substituir o crontab do Linux. Também oferece processos personalizados, memória compartilhada com SwooleTable e uma configuração que permite reload gracioso e recarga automática após alterações no código, usando inotify, fswatch ou inotifywait.

O projeto requer PHP 8.2 ou posterior, Swoole 5.0 ou posterior e Laravel ou Lumen 10 ou posterior. O README inclui exemplos de configuração de proxy reverso para Nginx e Apache, para servir arquivos estáticos junto com o processo Swoole.

Recursos principais

  • 01Servidor HTTP e WebSocket integrado, com uma interface de handler para eventos WebSocket
  • 02Suporte a vários protocolos em múltiplas portas para listeners personalizados de TCP, UDP e HTTP
  • 03Listeners de eventos assíncronos e fila de tarefas executados nos task workers do Swoole
  • 04Tarefas cron com precisão de milissegundos que podem substituir o crontab do Linux
  • 05Reload gracioso e recarga automática após alterações no código
  • 06Memória compartilhada com SwooleTable e processos personalizados de longa duração

Casos de uso

  • Servir um app Laravel com workers persistentes para reduzir a sobrecarga de inicialização por requisição
  • Adicionar um canal de envio de mensagens em tempo real via WebSocket a uma aplicação Laravel existente
  • Criar serviços TCP ou UDP personalizados que compartilham código e acesso ao banco de dados com um app Laravel
  • Substituir entradas do crontab do Linux por timers em processo com precisão de milissegundos e comandos agendados do Laravel

Início rápido

  1. 1

    Instale o pacote pelo Composer

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

    Publique a configuração e os binários

    php artisan laravels publish
  3. 3

    Ajuste listen_ip e listen_port em config/laravels.php conforme necessário

  4. 4

    Inicie o LaravelS

    php bin/laravels start

Antes de usar

  • Requer a extensão Swoole (>=5.0) e PHP >=8.2 com a extensão intl, portanto não substitui diretamente a hospedagem padrão com PHP-FPM.
  • Funciona como um servidor de longa duração residente na memória, então o código e o estado persistem entre as requisições e exigem cuidado. Leia os avisos importantes do README antes de executar.

Em coleções

Tópicos

Perguntas frequentes

O que é laravel-s?
Um adaptador que executa aplicações Laravel e Lumen no Swoole como um servidor PHP persistente, com suporte a WebSocket, TCP/UDP e tarefas assíncronas. O LaravelS conecta aplicações Laravel e Lumen ao Swoole, permitindo que um app PHP rode como um processo de servidor persistente, em vez de ser inicializado a cada requisição. A instalação é feita pelo Composer, a publicação é feita com um único comando artisan e a inicialização usa o script bin/laravels, que gerencia os processos master, manager, worker e task.
laravel-s é gratuito? Qual é a licença?
laravel-s é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
laravel-s ainda é mantido?
Manutenção ativa. O último commit de laravel-s foi em 2 de nov. de 2026.
Para que posso usar laravel-s?
Servir um app Laravel com workers persistentes para reduzir a sobrecarga de inicialização por requisição Adicionar um canal de envio de mensagens em tempo real via WebSocket a uma aplicação Laravel existente Criar serviços TCP ou UDP personalizados que compartilham código e acesso ao banco de dados com um app Laravel Substituir entradas do crontab do Linux por timers em processo com precisão de milissegundos e comandos agendados do Laravel
Como instalar laravel-s?
Instale o pacote pelo Composer: composer require "hhxsv5/laravel-s:~3.8.0" Publique a configuração e os binários: php artisan laravels publish Ajuste listen_ip e listen_port em config/laravels.php conforme necessário Inicie o LaravelS: php bin/laravels start
Onde consigo laravel-s?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/hhxsv5/laravel-s

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados