Repolode
php

php/frankenphp

Caddy 웹 서버를 기반으로 worker mode, Early Hints, HTTP/3, 자동 HTTPS를 지원하는 최신 PHP 애플리케이션 서버입니다.

스타
11,441
포크
498
열린 이슈
117
마지막 커밋
12시간 전

어떤 프로젝트인가요?

FrankenPHP는 Go로 작성되고 Caddy 웹 서버를 기반으로 하는 PHP 애플리케이션 서버입니다. 모든 PHP 애플리케이션을 실행할 수 있으며, 요청 사이에도 애플리케이션을 메모리에 유지하는 worker mode를 제공합니다. Early Hints, Mercure를 통한 실시간 기능, hot reloading도 지원합니다. 자동 HTTPS와 HTTP/2, HTTP/3도 기본으로 제공됩니다.

Linux, macOS(Apple Silicon), Windows용 독립 실행형 바이너리로 배포되며, rpm, deb, apk 패키지와 Homebrew, Docker 이미지도 제공됩니다. Laravel과 Symfony는 worker mode를 공식 지원합니다. 또한 net/http를 사용하는 Go 애플리케이션에 PHP를 임베드하는 Go 라이브러리로도 FrankenPHP를 사용할 수 있습니다.

프로젝트에는 디렉터리를 제공하는 `frankenphp php-server`와 스크립트를 실행하는 `frankenphp php-cli` 같은 명령이 포함되어 있습니다. 자체 완결형 PHP 앱과 정적 바이너리를 만들 수 있으며, 개발자가 Go로 PHP 확장 기능을 작성할 수도 있습니다.

핵심 기능

  • 01worker mode로 요청 사이에도 애플리케이션을 메모리에 유지합니다.
  • 02Early Hints(상태 코드 103)와 HTTP/2, HTTP/3을 지원합니다.
  • 03자동 HTTPS와 Mercure를 통한 실시간 기능을 제공합니다.
  • 04개발 중 hot reloading을 지원합니다.
  • 05독립 실행형 바이너리, 시스템 패키지, Docker 이미지를 제공합니다.

활용 사례

  • 처리량을 높이기 위해 Laravel 또는 Symfony 애플리케이션을 worker mode로 실행합니다.
  • Nginx와 PHP-FPM 구성 대신 단일 서버 바이너리를 사용합니다.
  • net/http를 사용하는 Go 서비스에 PHP를 임베드합니다.
  • PHP 애플리케이션을 자체 실행 가능한 바이너리로 패키징합니다.

빠른 시작

  1. 1

    Homebrew로 FrankenPHP 설치하기

    brew install dunglas/frankenphp/frankenphp
  2. 2

    현재 디렉터리 제공하기

    frankenphp php-server
  3. 3

    브라우저에서 https://localhost를 열고 자체 서명 인증서 수락하기

사용 전 알아둘 점

  • 독립 실행형 macOS 바이너리는 Apple Silicon만 지원합니다.
  • 로컬 HTTPS는 자체 서명 인증서를 사용하므로 직접 수락해야 합니다.

토픽

자주 묻는 질문

frankenphp은(는) 무엇인가요?
Caddy 웹 서버를 기반으로 worker mode, Early Hints, HTTP/3, 자동 HTTPS를 지원하는 최신 PHP 애플리케이션 서버입니다. FrankenPHP는 Go로 작성되고 Caddy 웹 서버를 기반으로 하는 PHP 애플리케이션 서버입니다. 모든 PHP 애플리케이션을 실행할 수 있으며, 요청 사이에도 애플리케이션을 메모리에 유지하는 worker mode를 제공합니다. Early Hints, Mercure를 통한 실시간 기능, hot reloading도 지원합니다. 자동 HTTPS와 HTTP/2, HTTP/3도 기본으로 제공됩니다.
frankenphp은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
frankenphp은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
frankenphp은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. frankenphp의 마지막 커밋은 2026년 10월 21일입니다.
frankenphp은(는) 어디에 사용할 수 있나요?
처리량을 높이기 위해 Laravel 또는 Symfony 애플리케이션을 worker mode로 실행합니다. Nginx와 PHP-FPM 구성 대신 단일 서버 바이너리를 사용합니다. net/http를 사용하는 Go 서비스에 PHP를 임베드합니다. PHP 애플리케이션을 자체 실행 가능한 바이너리로 패키징합니다.
frankenphp는 어떻게 설치하나요?
Homebrew로 FrankenPHP 설치하기: brew install dunglas/frankenphp/frankenphp 현재 디렉터리 제공하기: frankenphp php-server 브라우저에서 https://localhost를 열고 자체 서명 인증서 수락하기
frankenphp은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/php/frankenphp

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

관련 프로젝트