Framework REST API para PHP 8+ que gera rotas, validações e documentação OpenAPI a partir de métodos comuns de classes usando reflection.
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
Instale o pacote pelo Composer
composer require "hhxsv5/laravel-s:~3.8.0" - 2
Publique a configuração e os binários
php artisan laravels publish - 3
Ajuste listen_ip e listen_port em config/laravels.php conforme necessário
- 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
Extensão PHP que oferece um mecanismo de rede orientado a eventos e um runtime de corrotinas para criar serviços TCP, UDP, HTTP e WebSocket de longa duração.
Biblioteca Python de agendamento de tarefas e filas de tarefas, com gatilhos cron, de intervalo, de calendário e pontuais, além de armazenamento persistente opcional.
Vapor é um framework HTTP para Swift que permite criar sites, APIs e serviços em nuvem.
Servidor web em Rust com configuração compacta, TLS automático e rastreamento por requisição vinculado aos logs, para sites estáticos e proxies reversos.
Uma pequena ferramenta CLI que transforma qualquer programa de STDIN/STDOUT em um servidor WebSocket, como o inetd para WebSockets.