지원 주기

PHP 보안 지원 수명 주기 이해하기

6분 분량 업데이트

요약

각 PHP 브랜치는 약 2년의 활성 지원과 약 2년의 보안 전용 수정을 받으며, 지원은 12월 31일에 종료됩니다. 2026년 10월 기준 8.2부터 8.5까지 지원되며, 8.1 이하는 2026-10-21에 패치된 치명적 CVE를 포함해 어떤 수정도 받지 못합니다.

PHP 브랜치의 세 단계

8.3이나 8.4 같은 PHP의 각 마이너 버전은 하나의 *브랜치(branch)*입니다. 각 브랜치는 첫 정식(GA) 릴리스 이후 세 단계를 거칩니다.

단계 대략적인 기간 제공되는 것
활성 지원(Active support) 약 2년 정기 패치 릴리스를 통한 버그 수정 및 보안 수정
보안 지원(Security support) 약 2년 보안 문제에 대한 수정만 필요할 때 릴리스
지원 종료(End of life, EOL) 무기한 없음. PHP 프로젝트로부터 어떤 종류의 수정도 제공되지 않음

PHP 8.1 무렵에 도입된 현행 정책에 따라, 지원 기간은 릴리스 날짜의 기념일이 아니라 해당 연도의 12월 31일에 종료됩니다. 덕분에 계획을 세우기가 더 쉬워졌습니다. 각 단계 전환을 연말 마감일로 생각하면 됩니다.

2026년 10월 기준 브랜치별 현황

브랜치 상태(2026년 10월) 활성 지원 종료일 보안 지원 종료일
8.5 활성 지원 2027-12-31 2029-12-31
8.4 활성 지원 2026-12-31 2028-12-31
8.3 보안 전용 종료됨 2027-12-31
8.2 보안 전용 종료됨 2026-12-31
8.1 지원 종료 종료됨 2025-12-31 종료(마지막 릴리스 8.1.34)
8.0 및 7.x 지원 종료 종료됨 종료됨

2026년 10월 현재 PHP 8.6은 릴리스 후보(RC) 단계입니다. 릴리스 후보는 테스트용이며 운영 환경용이 아닙니다.

항상 공식 지원 버전 페이지에서 확인하십시오. 이 페이지가 권위 있는 출처이며, 날짜가 바뀌면 업데이트됩니다.

“활성 지원”과 “보안 전용”의 실제 의미

활성 지원

활성 지원 기간에는 브랜치가 정기적으로 패치 릴리스를 받습니다. 이 릴리스는 보안 문제뿐 아니라 일반 버그(크래시, 잘못된 동작, 회귀)도 수정합니다. PHP 자체의 버그를 만났다면, 그 버그가 수정될 수 있는 곳은 활성 브랜치입니다.

보안 전용 지원

보안 단계에서는 보안 문제만 수정됩니다. 애플리케이션에 영향을 주는 보안 외 버그는 일반적으로 이 브랜치에서 해결되지 않으며, 해결책은 업그레이드입니다. 릴리스 빈도도 줄어들어 보안 수정이 준비되었을 때만 릴리스됩니다.

보안 전용이 “안전하지 않다”는 뜻은 아닙니다. 모든 패치가 적용된 보안 전용 브랜치는 운영 환경에서 합리적인 선택이며, 날짜가 정해진 업그레이드 계획이 있다면 더욱 그렇습니다. 다만 남은 기간이 짧다는 뜻이기는 합니다.

지원 종료

브랜치가 EOL이 되면, 새로 발견된 취약점은 PHP 프로젝트에서 수정하지 않습니다. 이는 가정이 아닙니다. 2026-10-21에 PHP는 두 개의 치명적인 원격 코드 실행 취약점인 CVE-2026-109618과 CVE-2026-109619(CVSS v4.0 9.2)를 수정하기 위해 8.5.12, 8.4.27, 8.3.36, 8.2.35를 릴리스했습니다. 보안 권고문에는 PHP 5.4부터 8.5.11까지가 영향을 받는 버전으로 명시되어 있습니다. 8.1 이하 브랜치는 이미 지원이 종료되었기 때문에 수정을 받지 못했습니다.

따라서 마지막 8.1 릴리스인 PHP 8.1.34를 실행하는 서버는 두 취약점 모두에 영향을 받으며, 8.1 브랜치 안에서 옮겨 갈 업스트림 패치 버전이 없습니다.

벤더 및 배포판 지원에 관하여

중요한 수명 주기는 PHP 프로젝트의 것만이 아닙니다. 일부 운영체제 벤더는 자사가 제공하는 PHP 패키지를 자체 릴리스의 수명 동안 지원하며, 이 기간은 업스트림 EOL 날짜를 훨씬 넘어설 수 있습니다.

  • Ubuntu LTS, Debian stable, Red Hat Enterprise Linux 같은 장기 지원(LTS) Linux 배포판은 오래된 PHP 패키지에 보안 수정을 백포트(backport)할 수 있습니다.
  • 일부 호스팅 업체와 상용 벤더는 EOL 브랜치의 패치된 빌드를 유지 관리합니다.

이에 의존한다면 추측하지 말고 확인하십시오. Ubuntu CVE tracker, Debian security tracker, Red Hat security updates 같은 추적 페이지를 통해 벤더가 관련 CVE 각각에 대해 실제로 수정을 공개했는지 확인하십시오. 지원 범위는 패키지, 저장소, 릴리스마다 다르며, 모든 CVE가 모든 브랜치에서 수정되는 것은 아닙니다. 서드파티 저장소(예: PPA나 커뮤니티 저장소)의 패키지는 해당 유지 관리자의 자체 정책을 따르며, 이 정책은 다를 수 있습니다.

PHP 보안 패치 설치 여부 확인 가이드에서 자신의 서버에 백포트된 수정이 적용되었는지 확인하는 방법을 설명합니다.

수명 주기를 계획으로 바꾸기

수명 주기 표를 참고용 상식이 아니라 달력으로 다루십시오.

  1. 운영 중인 모든 PHP 런타임의 목록을 작성합니다. CLI, PHP-FPM 풀, cron 작업, 컨테이너, 스테이징(staging) 환경을 포함하십시오. 같은 서버의 사이트라도 서로 다른 버전을 사용할 수 있습니다. 각 방법은 PHP 버전 확인 방법 가이드에서 다룹니다.
  2. 브랜치별 보안 지원 종료일을 표시합니다. 2026년 10월 기준으로 8.2를 사용하는 환경은 약 10주가 남았습니다. 8.1 이하는 이미 지원되지 않습니다.
  3. 남은 지원 기간이 충분한 대상 브랜치를 선택합니다. 최신 안정 브랜치로 업그레이드하면 가장 긴 지원 기간을 확보할 수 있습니다. 2026년 말 기준으로 8.4 또는 8.5를 선택하면 2028년 또는 2029년까지 보안 수정을 받을 수 있습니다.
  4. 테스트할 시간을 확보합니다. 마이너 버전 업그레이드는 코드와 의존성에서 사용 중단(deprecation) 경고와 동작 변경을 드러낼 수 있습니다. 스테이징, 테스트, 롤백 경로를 계획하십시오. PHP 업그레이드 계획을 참고하십시오.
  5. 브랜치 내 패치를 계속 적용합니다. 지원되는 브랜치를 사용하더라도 패치 릴리스를 설치해야만 의미가 있습니다. 8.3.10을 사용하는 서버는 지원되는 브랜치에 있지만 많은 수정 사항이 누락되어 있습니다.

권장 마감 기한

사용 중인 버전 권장 조치
7.x 또는 8.0 긴급 사안으로 다루십시오. 업그레이드하거나, 벤더가 패치된 빌드를 제공한다는 사실을 서면으로 확인하십시오
8.1 2025-12-31부터 업스트림 지원이 종료되었으며 2026년 10월 RCE의 영향을 받습니다. 지금 업그레이드하십시오
8.2 즉시 8.2.35로 패치하고, 2026-12-31 이전에 업그레이드를 완료하십시오
8.3 8.3.36으로 패치하고, 2027년 중 업그레이드 일정을 잡으십시오
8.4 또는 8.5 8.4.27 또는 8.5.12로 패치하고, 이후 패치 릴리스도 계속 따라가십시오

PatchScope가 수명 주기를 활용하는 방법

PHP 버전 검사기는 알려진 취약점과 함께 브랜치의 수명 주기 상태를 보고하므로, 아직 일치하는 CVE가 없더라도 EOL 브랜치는 표시됩니다. 방법론 페이지에 설명된 대로 업스트림 버전 번호와 업스트림 날짜를 기준으로 동작합니다. 자체 지원 정책을 가진 배포판에서 PHP를 설치했다면, 결과를 벤더의 보안 추적 페이지와 함께 확인하십시오.

출처

  1. PHP: Supported Versions
  2. PHP: Unsupported Branches (End of Life)
  3. PHP: Releases
  4. PHP 8 ChangeLog