트렌드깃허브 · 쇼핑에서 뜬 것, 매일 07:30 · English

깃허브 · 2026년 11월 8일 기준 · 깃허브에서 보기 →

swoole/typephp

PHP 코드를 실행 파일로 바꾸는 컴파일러

7일 동안 별 +10

PHP 코드를 기계 코드로 변환해 인터프리터 없이 실행 파일을 만들 수 있습니다

PHP 스크립트를 별도의 인터프리터 없이 CPU에서 직접 실행되는 기계 코드로 변환하는 과정이 가능합니다. TypePHP는 PHP 소스 코드를 C++로 변환한 뒤 네이티브 바이너리, PHP 확장, 공유 라이브러리 중 하나로 컴파일하는 AOT(사전 컴파일) 도구입니다. 기존 PHP 문법을 유지하면서 컴파일 시점에 타입 정보를 활용해 최적화된 코드를 생성합니다.

인터프리터 없는 네이티브 실행

TypePHP는 PHP 코드를 바이트코드로 변환해 실행하는 방식이 아니라, C++17 코드로 낮춘 뒤 네이티브 기계 코드로 컴파일합니다. 이 과정에서 int, float, bool 같은 기본 타입은 C++의 스칼라 타입으로 직접 매핑되어 수치 연산이 CPU 명령어로 변환됩니다. 컴파일러 자체도 PHP로 작성되어 있으며, tpc 바이너리는 TypePHP 컴파일러의 PHP 소스를 컴파일해 생성되는 셀프 호스팅 구조를 가집니다. 런타임에 오퍼코드 해석이나 JIT 워밍업이 필요 없어 시작 시간이 빠르고 성능이 결정적입니다.

세 가지 빌드 모드와 정밀 수치 지원

동일한 코드베이스에서 네이티브 실행 파일(bin), PHP 확장(ext), 공유 라이브러리(lib) 세 가지 형태로 빌드할 수 있습니다.

  • 네이티브 실행 파일 PHP CLI 없이 독립적으로 실행되는 바이너리를 생성합니다. 소스 코드가 기계 코드로 변환되어 배포 시 소스 보호 효과가 있습니다.
  • PHP 확장 및 라이브러리 기존 PHP 프로젝트에 컴파일된 함수나 클래스를 확장으로 로드하거나, 다른 프로젝트에서 재사용할 수 있는 공유 라이브러리로 빌드합니다.
  • 정밀 수치 타입 54자리 이상의 정수나 소수점 오차 없는 연산이 필요한 경우 bigInt, decimal, bigFloat를 사용해 정확한 결과를 얻습니다.

호환성 범위와 제한 사항

TypePHP는 모든 동적 PHP 프로그램을 그대로 지원하는 것이 아니라, 테스트 가능한 PHP 하위 집합을 의도적으로 지원합니다. 전역 스코프는 선언만 허용되며 실행 가능한 문장은 함수나 메서드 안에 있어야 합니다. 바이너리 모드에서는 main() 함수의 시그니처가 엄격하게 지정되어 있습니다. 추론된 int, float, bool 변수는 기본적으로 고정된 네이티브 저장소를 사용하므로 나중에 호환되지 않는 타입으로 변경될 수 없습니다.

도입 전 확인해야 할 환경과 조건

TypePHP를 사용하려면 PHP 8.4 또는 8.5 CLI, 개발 헤더, php-config가 필요합니다. Unix 계열 시스템에서는 바이너리나 공유 라이브러리 빌드를 위해 해당 PHP 버전의 임베드 라이브러리(libphp.so 또는 libphp.dylib)가 필수입니다. GCC 9 이상 또는 Clang, CMake 3.24 이상, Composer 2가 설치되어 있어야 하며, 정밀 수치 연산을 위해 GMP와 MPFR 라이브러리가 필요합니다. Linux x64가 주요 개발 및 테스트 플랫폼이지만 Windows, macOS, ARM64, Android, iOS, WASI 백엔드도 지원합니다. 모바일 앱 개발 시 UI 구조와 비즈니스 로직을 TypePHP로 작성하고 얇은 네이티브 UI 브리지만 유지하는 방식이 가능합니다. --nano 옵션을 사용하면 Zend 오퍼코드 인터프리터 없이 PHP Nano와 PHPX 소스를 직접 컴파일해 더 가벼운 실행 파일을 만들 수 있지만, 이 경우 eval, include 등 VM 진입 경로와 익명 클래스는 사용할 수 없습니다.

AI가 이 저장소의 README를 읽고 2026년 9월 30일에 쓴 글입니다. 사실관계는 깃허브 원문이 기준입니다.

숫자로 본 저장소

깃허브 트렌딩 기록
트렌드가 기록을 시작한 2026년 6월 19일 ~ 11월 8일 가운데 하루 · 처음 오른 날 8월 29일 · 일간 최고 13위(8월 29일)

2026년 11월 8일 기준으로 깃허브에서 읽은 숫자입니다.

언어
PHP
별
1,475
7일 동안 늘어난 별
+10
기여자
20
포크
79
최근 릴리스
v0.9.5 · 2026년 10월 13일
커밋
1,929
마지막 커밋
2026년 11월 5일
열린 이슈
1
열린 PR
1

깃허브에서 보기 → · 홈페이지

README에 달기

trend.ondo.sh · 깃허브 일간 트렌딩 13위 · 2026년 8월 29일 trend.ondo.sh · GitHub daily trending #13 · August 29, 2026

위 배지는 이 저장소가 2026년 6월 19일 이후 깃허브 일간 트렌딩에서 가장 높이 오른 순위와 그날을 보여 줍니다. README의 언어에 맞는 줄을 붙여 넣으세요. 배지를 누르면 이 페이지가 열리고, 저장소가 더 높이 오르면 배지도 저절로 바뀝니다.

한국어 README

[![trend.ondo.sh](https://trend.ondo.sh/github/r/swoole--typephp/badge.svg)](https://trend.ondo.sh/github/r/swoole--typephp/)

영어 README

[![trend.ondo.sh](https://trend.ondo.sh/github/r/swoole--typephp/badge.en.svg)](https://trend.ondo.sh/github/r/swoole--typephp/en.html)