Repolode
hhxsv5

hhxsv5/laravel-s

Laravel 및 Lumen 애플리케이션을 Swoole에서 WebSocket, TCP/UDP, 비동기 작업을 지원하는 장기 실행 메모리 상주 PHP 서버로 실행하는 어댑터입니다.

스타
3,879
포크
463
열린 이슈
70
마지막 커밋
4일 전

어떤 프로젝트인가요?

LaravelS는 Laravel 및 Lumen 애플리케이션을 Swoole에 연결해, 요청마다 부트스트랩하지 않고 PHP 앱을 지속적으로 실행되는 서버 프로세스로 구동할 수 있게 합니다. Composer로 설치하고 artisan 명령 하나로 설정을 게시한 뒤, 마스터·매니저·워커·태스크 프로세스를 관리하는 `bin/laravels` 스크립트로 실행합니다.

HTTP 제공 외에도 WebSocket 핸들러 인터페이스가 있는 내장 WebSocket 서버, 사용자 지정 TCP·UDP·HTTP 리스너를 위한 멀티 포트 혼합 프로토콜 지원, 비동기 이벤트와 태스크 큐, Linux crontab을 대체할 수 있는 밀리초 단위 cron 작업을 제공합니다. 또한 사용자 지정 프로세스, 공유 메모리용 SwooleTable, graceful reload 및 inotify, fswatch 또는 inotifywait를 이용한 코드 변경 시 자동 reload를 지원하는 설정도 제공합니다.

PHP 8.2 이상, Swoole 5.0 이상, Laravel 또는 Lumen 10 이상이 필요합니다. README에는 Swoole 프로세스와 함께 정적 파일을 제공하기 위한 Nginx 및 Apache 리버스 프록시 설정 예제가 포함되어 있습니다.

핵심 기능

  • 01WebSocket 이벤트용 핸들러 인터페이스를 갖춘 내장 HTTP 및 WebSocket 서버
  • 02사용자 지정 TCP, UDP, HTTP 리스너를 위한 멀티 포트 혼합 프로토콜
  • 03Swoole 태스크 워커에서 실행되는 비동기 이벤트 리스너와 태스크 큐
  • 04Linux crontab을 대체할 수 있는 밀리초 단위 cron 작업
  • 05graceful reload 및 코드 변경 후 자동 reload
  • 06SwooleTable 공유 메모리와 사용자 지정 장기 실행 프로세스

활용 사례

  • 요청마다 발생하는 부트스트랩 오버헤드를 줄이기 위해 Laravel 앱을 상주 워커로 제공
  • 기존 Laravel 애플리케이션에 실시간 WebSocket 푸시 채널 추가
  • Laravel 앱과 코드 및 데이터베이스 접근을 공유하는 사용자 지정 TCP 또는 UDP 서비스 구축
  • Linux crontab 항목을 프로세스 내부의 밀리초 단위 타이머와 예약된 Laravel 명령으로 대체

빠른 시작

  1. 1

    Composer를 통해 패키지를 설치합니다

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

    설정 파일과 바이너리를 게시합니다

    php artisan laravels publish
  3. 3

    필요에 따라 config/laravels.php의 listen_ip와 listen_port를 조정합니다

  4. 4

    LaravelS를 시작합니다

    php bin/laravels start

사용 전 알아둘 점

  • Swoole 확장(>=5.0)과 intl 확장이 포함된 PHP >=8.2가 필요하므로 표준 PHP-FPM 호스팅을 그대로 대체할 수 없습니다.
  • 장시간 실행되며 메모리에 상주하는 서버로 작동하므로 요청 간에 코드와 상태가 유지되어 주의가 필요합니다. 실행하기 전에 README의 중요 안내를 읽어 보세요.

포함된 컬렉션

토픽

자주 묻는 질문

laravel-s은(는) 무엇인가요?
Laravel 및 Lumen 애플리케이션을 Swoole에서 WebSocket, TCP/UDP, 비동기 작업을 지원하는 장기 실행 메모리 상주 PHP 서버로 실행하는 어댑터입니다. LaravelS는 Laravel 및 Lumen 애플리케이션을 Swoole에 연결해, 요청마다 부트스트랩하지 않고 PHP 앱을 지속적으로 실행되는 서버 프로세스로 구동할 수 있게 합니다. Composer로 설치하고 artisan 명령 하나로 설정을 게시한 뒤, 마스터·매니저·워커·태스크 프로세스를 관리하는 `bin/laravels` 스크립트로 실행합니다.
laravel-s은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
laravel-s은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
laravel-s은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. laravel-s의 마지막 커밋은 2026년 11월 2일입니다.
laravel-s은(는) 어디에 사용할 수 있나요?
요청마다 발생하는 부트스트랩 오버헤드를 줄이기 위해 Laravel 앱을 상주 워커로 제공 기존 Laravel 애플리케이션에 실시간 WebSocket 푸시 채널 추가 Laravel 앱과 코드 및 데이터베이스 접근을 공유하는 사용자 지정 TCP 또는 UDP 서비스 구축 Linux crontab 항목을 프로세스 내부의 밀리초 단위 타이머와 예약된 Laravel 명령으로 대체
laravel-s는 어떻게 설치하나요?
Composer를 통해 패키지를 설치합니다: composer require "hhxsv5/laravel-s:~3.8.0" 설정 파일과 바이너리를 게시합니다: php artisan laravels publish 필요에 따라 config/laravels.php의 listen_ip와 listen_port를 조정합니다 LaravelS를 시작합니다: php bin/laravels start
laravel-s은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/hhxsv5/laravel-s

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

리플렉션으로 일반 클래스 메서드에서 라우트, 유효성 검사, OpenAPI 문서를 생성하는 PHP 8 이상용 REST API 프레임워크입니다.

1.4천313PHP라이선스 없음업데이트 그저께