# FrankenPHP: 현대적인 PHP 앱 서버

> Clean Markdown view of GeekNews topic #15103. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15103](https://news.hada.io/topic?id=15103)
- GeekNews Markdown: [https://news.hada.io/topic/15103.md](https://news.hada.io/topic/15103.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-05-31T09:56:39+09:00
- Updated: 2024-05-31T09:56:39+09:00
- Original source: [frankenphp.dev](https://frankenphp.dev/)
- Points: 4
- Comments: 1

## Topic Body

### 현대 PHP 앱 서버 FrankenPHP 소개

#### FrankenPHP란?

- **FrankenPHP**는 **Go 언어**로 작성된 현대적인 PHP 앱 서버임.
- **Caddy 웹 서버**에 공식 PHP 실행기를 내장하여 HTTP/1.1, HTTP/2, HTTP/3을 지원함.
- **자동 HTTPS 인증서** 생성 및 갱신 기능을 제공함 (Let’s Encrypt 또는 ZeroSSL 사용).

#### 주요 기능

- **단일 명령어**로 프로덕션급 PHP 서버를 실행 가능함.
- **독립 실행형 바이너리**를 생성하여 PHP 웹 애플리케이션과 커맨드라인 도구를 의존성 없이 실행 가능함.
- **인기 PHP 확장**(OPcache, XDebug 등)을 기본적으로 지원함.

#### 성능 향상

- **Worker 모드**: 애플리케이션을 한 번 부팅하면 메모리에 유지됨.
- **간편한 사용**: Symfony, API Platform, Laravel 등에서 기본 지원됨.
- **빠른 속도**: API Platform 앱에서 FPM보다 3.5배 빠름.
- **효율성**: Go의 고루틴 기능을 활용하여 효율적인 성능 제공함.
- **간단한 배포**: 단일 바이너리로 실행되며 외부 서비스가 필요 없음.

#### FrankenPHP의 장점

- **쉽고 빠른 설정**: PHP 파일을 문서 루트에 복사하기만 하면 됨.
- **고성능**: 최신 웹 서버 기술과 PHP 실행기를 결합하여 높은 성능 제공함.
- **유연성**: Worker 모드와 호환되지 않는 앱도 그대로 서비스 가능함.

#### GN⁺의 의견

- **흥미로운 점**: FrankenPHP는 최신 웹 서버 기술을 활용하여 PHP 애플리케이션의 성능을 크게 향상시킬 수 있음.
- **도입 시 고려사항**: 기존 PHP 서버 환경과의 호환성 문제를 사전에 검토해야 함.
- **비판적 시각**: 새로운 기술 도입에 따른 학습 곡선과 초기 설정 비용이 발생할 수 있음.
- **추천 대안**: 비슷한 기능을 제공하는 **RoadRunner**나 **Swoole** 같은 PHP 서버도 고려해볼 만함.
- **기술 선택의 득과 실**: 성능 향상과 간편한 배포가 장점이지만, 새로운 기술 도입에 따른 리스크와 기존 시스템과의 통합 문제를 신중히 검토해야 함.

## Comments



### Comment 25759

- Author: neo
- Created: 2024-05-31T09:56:39+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=40519722) 
- **PHP 개발을 10년 동안 하지 않았지만, 이 랜딩 페이지가 나를 다시 PHP로 돌아오게 할 뻔했음**: 디자인, 색상, 애니메이션이 깔끔하고, 가치 제안이 잘 강조되어 있음. 작은 프로젝트를 시작하기에 좋은 방법으로 보임.

- **오랜 C# 개발자, 현재는 주로 PHP8 사용**: PHP8은 빠르게 작업을 완료할 수 있는 훌륭한 언어임. 이 방향이 LAMP보다 더 나은 방향임.

- **Tech Empower 벤치마크에서의 성과가 궁금함**: 현재는 "완료되지 않음" 상태로 최하위에 있음.

- **PHP 통합 웹 서버를 개발 중 자주 사용**: 단일 스레드로 느리고, 프로덕션 환경에 적합하지 않음. FrankenPHP는 유망해 보이지만, 제한된 코어/스레드 문제는 여전히 존재함. Docker 이미지가 유망해 보임.

- **FrankenPHP를 시도해봤지만 매우 느림**: 문서가 부족하고, 성능이 기대 이하임. FPM보다 3.5배 성능을 주장하지만 실제로는 1% 성능도 나오지 않음.

- **FrankenPHP는 성능 문제를 가지고 있음**: 그럼에도 불구하고 매우 유망한 프로젝트임.

- **관련 링크**: FrankenPHP, Go로 작성된 PHP 앱 서버 소개.

- **Docker 컨테이너 빌드 방법**: Docker 명령어를 통해 새로운 Debian을 필요한 컨테이너로 변환하는 방법 설명.

- **FrankenPHP와 Apache의 Mod-PHP로 Wordpress 벤치마크 시도**: FrankenPHP의 우위를 확인하지 못했음. Docker에서 테스트했으며, 더 깊이 파고들 필요가 있음.

- **HN 첫 페이지에 이 프로젝트가 올라온 것을 즐김**: FPM과 공유하지 않는 아키텍처가 PHP의 성공과 동시에 한계를 가져왔다는 느낌임.
