프로젝트 소개

PHP는 웹 개발에 중점을 둔 범용 스크립트 언어입니다. 이 저장소(php/php-src)는 PHP 인터프리터의 공식 소스 코드를 포함하며 Modified BSD License(BSD-3-Clause)로 배포됩니다. README는 문서를 위해 php.net/docs의 공식 매뉴얼을 안내합니다. 소스에서 빌드하기를 원하지 않는 사용자를 위해 사전 빌드된 패키지와 바이너리가 제공됩니다. Windows 바이너리는 windows.php.net에서 제공되며, 다른 시스템의 설치 지침은 매뉴얼의 설치 장에서 다룹니다. 소스에서 빌드하려면 최소 빌드에 autoconf, bison, re2c가 필요합니다. 기본 빌드에는 추가로 libxml2와 libsqlite3가 필요합니다. README에는 Ubuntu, Fedora, Homebrew를 통한 macOS, MacPorts를 통한 macOS용 패키지 설치 명령이 나열되어 있습니다. 빌드 흐름은 다음과 같습니다: ./buildconf를 실행하여 configure를 생성하고, ./configure를 실행한 다음(개발에는 --enable-debug 권장), make -j4를 실행합니다. 작업 수는 nproc이 보고하는 사용 가능한 코어 수와 일치하는 것이 이상적입니다. Windows 사용자는 PHP 위키의 별도 단계별 빌드 가이드를 참조하세요. 테스트는 컴파일 성공 후 make test를 통해 실행되는 광범위한 번들 테스트 스위트로 처리됩니다. 테스트는 기본적으로 감지된 최대 10개의 논리 프로세서를 사용하여 병렬로 실행됩니다. 작업자 수는 TEST_PHP_ARGS 또는 TESTS에서 -jN으로 재정의할 수 있으며, 예를 들어 make TESTS=tests/lang/ test와 같이 특정 디렉터리를 대상으로 지정할 수 있습니다. qa.php.net 사이트는 추가 테스트 및 품질 보증 정보를 제공합니다. 빌드와 테스트가 성공한 후 make install로 PHP를 설치하며, 접두사와 권한에 따라 슈퍼유저 권한이 필요할 수 있습니다. 확장 기능은 필수 번들 확장 외에도 기능을 추가합니다. 추가 확장은 Packagist의 PIE Extensions 페이지에 나열되어 있으며, PHP 확장 설치 프로그램인 PIE 또는 더 이상 사용되지 않는 PECL로 설치할 수 있습니다. 기여는 저장소를 포크하고 풀 리퀘스트를 여는 방식으로 환영합니다. 토론은 GitHub에서 이루어지며 internals@lists.php.net 개발자 메일링 리스트로도 전달될 수 있습니다. 새 기능은 승인된 RFC가 필요하며, 자세한 내용은 위키의 RFC 및 투표 페이지에서 확인할 수 있습니다. 버그 수정에는 RFC가 필요하지 않습니다. 커밋 메시지는 GitHub 이슈를 GH-NNNNNN으로, 이전 버그 트래커 티켓을 #NNNNNN으로 참조해야 합니다. README는 추가 기여 문서(CONTRIBUTING.md, CODING_STANDARDS.md, 내부 문서, 메일링 리스트 규칙, 릴리스 프로세스)로 연결됩니다. 크레딧 페이지에는 기여자가 나열됩니다.