Caddy는 Go로 작성된 확장형 웹 서버로, HTTP/1.1·HTTP/2·HTTP/3를 제공하며 기본적으로 HTTPS를 자동 설정합니다.
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
Homebrew로 FrankenPHP 설치하기
brew install dunglas/frankenphp/frankenphp - 2
현재 디렉터리 제공하기
frankenphp php-server - 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 통계는 매일 갱신됩니다.
관련 프로젝트
C로 작성된 고성능 웹 서버, 리버스 프록시, 로드 밸런서, API 게이트웨이 및 콘텐츠 캐시입니다.
Go 표준 net/http 패키지를 기반으로 한 고성능 미니멀 웹 프레임워크입니다.
V8, Rust, Tokio를 기반으로 보안 기본값을 제공하는 JavaScript, TypeScript, WebAssembly 런타임입니다.
Traefik, Nginx, Caddy용 미들웨어 또는 독립형 SSO 로그인 서버로 사용할 수 있는 경량 인증·인가 서버입니다.