← 아티클 목록
업데이트phplaravel업데이트

PHP 7.4.6 업데이트 — 한국 Laravel 개발자 영향 분석

작성: 라라벨 코리아 (초안)

발행: 2026년 8월 6일

## 요약

요약

PHP 7.4.6이 2020년 5월 14일에 릴리스되었으며, CVE-2019-11048을 포함한 보안 취약점이 수정된 보안 릴리스입니다. 장기 변수명 처리 시 발생하는 OOM(메모리 부족) 및 임시 파일 미정리 문제가 핵심 보안 패치 대상이며, Laravel 프로젝트를 운영 중인 팀은 즉시 업그레이드를 검토해야 합니다.


핵심 내용

🔴 보안 수정 사항 (CVE 포함)

이번 릴리스에서 가장 주목해야 할 변경 사항은 다음 CVE 수정입니다:

  • CVE-2019-11048 (#78875, #78876): HTTP 요청에서 지나치게 긴 변수명이 포함될 경우 OOM(Out of Memory)을 유발하고, 이 과정에서 생성된 임시 파일이 삭제되지 않는 문제. 공격자가 의도적으로 긴 파라미터명을 반복 전송하면 서버 디스크 자원 고갈로 이어질 수 있습니다.

⚠️ 주의: 이 CVE는 2019년에 등록되었으나 7.4.6에서 공식 수정되었습니다. 7.4.5 이하 버전을 사용 중이라면 즉시 업그레이드가 필요합니다.


🟠 Core 주요 버그 수정

버그 번호내용Laravel 관련성
#78434Generator의 valid() 호출 후 yield가 동작하지 않는 문제Lazy Collection, 커스텀 Generator 사용 시 영향 가능
#79477객체를 배열로 캐스팅 시 참조(reference)가 의도치 않게 생성되는 문제모델 속성 변환, DTO 처리 로직에 영향 가능
#79514존재하지 않는 파일을 include할 때 메모리 누수 발생동적 파일 로딩 패턴 사용 시 주의
#79470서드파티 온디맨드 파일시스템과의 비호환 문제Laravel Storage 커스텀 드라이버 사용 시 연관 가능
#78784VFS(Git 가상 파일시스템) 내 파일 접근 불가 문제Git 기반 VCS 통합 개발 환경에서 영향

🟡 Laravel 관련 컴포넌트별 수정 사항

MBString

  • #79441: mb_chr()에서 지원되지 않는 내부 인코딩 사용 시 세그멘테이션 폴트(Segfault) 발생. 한글 처리가 많은 국내 서비스에서 mbstring 함수를 직접 사용하는 경우 영향을 받을 수 있습니다.

OpenSSL

  • #79497: 1초 미만 타임아웃 설정 시 stream_socket_client()에서 알 수 없는 오류가 발생하는 문제 수정. Guzzle HTTP 클라이언트 또는 Laravel HTTP Client(Http::timeout())로 짧은 타임아웃을 설정하는 경우 관련될 수 있습니다.

SimpleXML

  • #79528: 7.4.4와 7.4.5 사이 동일 XML에 대해 서로 다른 객체가 반환되는 일관성 문제 수정. XML 기반 외부 API 연동(공공 API, 결제 모듈 등) 시 주목해야 합니다.

Standard

  • #79468: 스트림 필터가 붙은 상태에서 스트림 핸들을 닫을 때 SIGSEGV 발생. Laravel의 Storage 스트림 기반 파일 처리와 연관될 수 있습니다.
  • #79447: __sleep()에서 초기화되지 않은 typed property를 직렬화할 때 예외가 발생하지 않아야 하는데 발생하던 문제 수정. Eloquent 모델 직렬화/캐시 저장 시 관련 동작 확인 필요.

PCRE

  • PCRE2 10.34로 업그레이드. 정규식 엔진 성능 및 안정성 향상. Laravel 라우트 패턴, Validation 규칙의 정규식 처리 성능에 미세한 개선이 있을 수 있습니다.

Phar

  • #79503: Phar 메타데이터 중복 시 메모리 누수 수정. .phar 기반 배포 또는 Composer 아카이브 관련 작업에 영향.

SPL

  • #69264: SPL 클래스를 상속할 때 __debugInfo()가 무시되던 문제 수정. 커스텀 컬렉션 구현 시 디버깅 편의성 개선.
  • #67369: ArrayObject 직렬화 시 이터레이터 클래스가 유실되는 문제 수정. 세션, 캐시에 ArrayObject를 저장하는 경우 확인 필요.

한국 Laravel 개발자에게 미치는 영향

한글/다국어 처리 (mbstring)

국내 서비스에서는 한글 처리를 위해 mbstring 확장을 광범위하게 사용합니다. #79441 (mb_chr Segfault) 수정은 PHP 내부 인코딩 설정이 EUC-KR 또는 비표준 인코딩으로 설정된 레거시 환경에서 특히 중요합니다. php.inimbstring.internal_encoding 설정을 확인하세요.

공공 API 및 XML 기반 연동

국내 서비스는 행정안전부, 건강보험, 결제 PG사 등 XML 기반 API 연동이 많습니다. SimpleXML의 #79528 수정으로 7.4.5에서 발생하던 객체 불일치 문제가 해소되었으므로, 7.4.5 사용 중이라면 특히 업그레이드를 우선 검토하세요.

Laravel Sail / Docker 환경

docker-compose.yml 또는 Dockerfile에서 PHP 이미지 태그를 고정(7.4.5 등)하고 있다면 7.4.6으로 업데이트가 필요합니다.

# 변경 전 FROM php:7.4.5-fpm # 변경 후 FROM php:7.4.6-fpm

Laravel Sail을 사용하는 경우 공식 laravel/sail Docker 이미지가 업데이트될 때까지 sail build --no-cache로 베이스 이미지를 수동으로 갱신하는 것을 권장합니다.

Laravel Valet (macOS)

Homebrew를 통해 PHP를 관리하는 경우:

brew upgrade php@7.4valet restart

업그레이드 후 php -v로 버전을 반드시 확인하세요.

호환성 및 마이그레이션 부담

  • PHP 7.4.x 내의 마이너 패치 업그레이드이므로 호환성 파괴 변경(Breaking Change)은 없습니다.
  • Laravel 6.x (LTS), 7.x 모두 PHP 7.4를 지원하므로 프레임워크 변경 없이 PHP만 업그레이드하면 됩니다.
  • Composer 패키지 의존성 변경 없이 PHP 바이너리 교체만으로 완료됩니다.

실무 체크리스트

로컬 개발 환경

  • php -v 명령으로 현재 PHP 버전 확인
  • Homebrew(brew upgrade php@7.4) 또는 패키지 매니저로 PHP 7.4.6 설치
  • Docker/Sail 사용 시 FROM php:7.4.6-fpm 으로 Dockerfile 업데이트 및 이미지 재빌드
  • php.inimbstring.internal_encoding 설정 확인 (UTF-8 권장)
  • Generator, ArrayObject 직렬화, 스트림 필터를 사용하는 코드가 있다면 로컬에서 동작 검증

스테이징 환경

  • PHP 7.4.6 업그레이드 적용
  • php-fpm 서비스 재시작: sudo systemctl restart php7.4-fpm
  • Laravel 테스트 스위트 실행: php artisan test 또는 ./vendor/bin/phpunit
  • XML 기반 외부 API 연동 기능 통합 테스트 수행 (SimpleXML 수정 관련)
  • OpenSSL 관련 HTTP 클라이언트 호출(짧은 타임아웃 설정)이 있다면 동작 확인
  • 에러 로그 및 애플리케이션 로그 이상 없음 확인

운영(Production) 환경

  • CVE-2019-11048 보안 패치 적용을 위해 업그레이드를 최우선으로 스케줄링
  • 배포 전 스테이징에서의 테스트 결과 이상 없음 확인
  • 무중단 배포(Rolling Update) 또는 점검 시간대 업그레이드 적용
  • Ubuntu/Debian: sudo apt-get update && sudo apt-get upgrade php7.4
  • CentOS/RHEL (Remi 저장소): sudo yum update php74
  • 업그레이드 후 php -vphp-fpm -v로 버전 확인
  • OPcache 캐시 초기화: php artisan opcache:clear 또는 php-fpm 재시작
  • 모니터링 도구(Sentry, New Relic, Datadog 등)에서 오류율 및 메모리 사용량 이상 없음 확인
  • 임시 파일 디렉토리(sys_get_temp_dir() 경로) 디스크 사용량 정상화 확인 (CVE-2019-11048 관련 임시 파일 잔여물 여부)

편집자 주: 이 문서는 드래프트입니다. CVE-2019-11048의 실제 악용 가능성 및 국내 서비스 영향 범위에 대해서는 보안 담당자와 추가 검토를 권장합니다. PHP 7.4 자체는 2022년 11월에 공식 지원이 종료(EOL)되었으므로, 장기적으로는 PHP 8.x 마이그레이션 계획을 수립하시기 바랍니다.