> 백엔드 개발 > PHP 튜토리얼 > PHP에 기여 : PHP 코어에서 버그를 수정하는 방법

PHP에 기여 : PHP 코어에서 버그를 수정하는 방법

William Shakespeare
풀어 주다: 2025-02-15 12:06:13
원래의
947명이 탐색했습니다.

이 안내서는 버그를 수정하여 PHP의 핵심에 기여하는 방법을 설명합니다. C 및 PHP 버전에 대한 기본적인 이해를 가정하여 워크 플로에 중점을 둡니다. 새로운 기능 제출물은이 기사의 범위를 벗어납니다.

주요 개념 : Contributing to PHP: How to Fix Bugs in the PHP Core

PHP의 버전 라이프 사이클 : 작은 PHP 버전은 매년 3 년간의 지원 (2 년의 활성 지원, 1 년의 보안 전용 지원)으로 출시됩니다. 이를 이해하는 것은 버그 수정을 타겟팅하는 데 중요합니다 버그 수정 워크 플로 :

수정은 가장 오래된 에 지원되는 영향을받는 버전을 대상으로해야합니다. 그런 다음 PHP 코어 개발자는 수정 사항을 최신 버전으로 합치게됩니다. 버그 수정 프로세스 :

여기에는 다음과 관련이 있습니다 : 버그 검증, 로컬 재생산, 테스트 생성, 디버깅, 수정 코딩, 변경 커밋 및 풀 요청 제출 (PR).
  • 버그 해결 : 단계별 예제 버그 #71635를 수정합시다 (종료 날짜가 설정되지 않은 경우 의 segfault).
  • 검증 :
  • 3v4L (여러 PHP 버전의 도구 테스트 코드)을 사용하여 버그가 재현 가능한지 신속하게 확인하십시오. 이것은 영향을받는 버전을 식별하는 데 도움이됩니다.
  • 로컬 재생산 : 포크 , 복제하고 최신 릴리스로 업데이트하십시오. 가장 낮은 영향을받는 적극적으로 지원되는
  • 브랜치 (예 : )를 확인하십시오.

빌드 및 재생산 : PHP를 빌드하고 스크립트를 실행하고 (예 : ) segfault를 재현하십시오 :

DatePeriod::getEndDate()

테스트 생성 :
    테스트 파일을 만듭니다 (in ) 버그 확인을 자동화하십시오 : <:> 테스트를 실행하십시오 :
디버깅 :

디버거 (lldb 또는 gdb)를 사용하여 근본 원인을 식별하십시오. 백트레이스는 문제가있는 코드를 정확히 찾아냅니다 Contributing to PHP: How to Fix Bugs in the PHP Core

  1. 코드 코드 수정 사항 : 널 포인터를 처리하도록 코드를 수정하십시오. 예를 들어,
  2. 테스트 및 커밋 :

    테스트 ()를 다시 실행하십시오. 성공하면 변경 사항을 저 지르십시오. make test PR 제출 :

    의 해당 지점에 대한 풀 요청을 제출하십시오.
  3. 결론 : PHP 코어 버그 수정은 기본 C 지식만을 요구하는 귀중한 기여입니다. 실용적인 프로그래밍 경험을 제공하고 PHP를 개선하는 데 도움이됩니다. 수천 개의 공개 버그 보고서가 포함되어 있으면 참여할 수있는 충분한 기회가 있습니다. 자주 묻는 질문 (FAQS) : php/php-src (이들은 간결하게 요약되어 있음)

  4. 시작하기 :
PHP 개발 환경을 설정하고 소스 코드를 복제하고, PHP 내부를 복제하고, 학습. 보고 버그보고 :

PHP 버그 추적 시스템을 사용하여 자세한 설명 및 테스트 사례를 제공합니다. 디버깅 : xdebug 또는 기타 디버깅 도구를 사용하십시오 공통 버그 : 구문, 논리 및 런타임 오류; 깨끗한 코드와 철저한 테스트를 통해 방지하십시오 비 코딩 기여 :

버그보고, 문서 작성/번역, 웹 사이트에 도움, 커뮤니티 참여. 테스트 :

단위 테스트에 PhPunit을 사용하고 테스트 가능한 코드를 작성하십시오. PHP 내부 메일 링리스트 :

토론에 가입하고 참여하십시오 업데이트 상태 유지 :

PHP 웹 사이트, 소셜 미디어, 뉴스 레터 및 커뮤니티 사용. 모범 사례 : 의미있는 이름, 주석, 일관된 스타일, 글로벌 피하기, 오류 처리, 입력 소독. >

기술 향상 :
    연습, 프로젝트, 도전, 오픈 소스 기부금, 서적, 코스, 컨퍼런스.

위 내용은 PHP에 기여 : PHP 코어에서 버그를 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿