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

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

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

발행: 2026년 8월 6일

## 요약

요약

PHP 7.3.7이 2019년 7월 4일 릴리스되었습니다. 이번 버전은 MySQLnd의 랜덤 세그멘테이션 폴트, Opcache 표현식 평가 오류, Sodium 함수의 세그멘테이션 폴트 등 프로덕션 안정성에 직접 영향을 미치는 다수의 버그를 수정합니다. PHP 7.3 계열을 운영 중인 Laravel 프로젝트라면 즉시 업그레이드를 검토해야 합니다.


핵심 내용

🔴 프로덕션 안정성에 직접 영향 — 세그멘테이션 폴트 수정

이번 릴리스에서 가장 주목해야 할 수정 사항은 실제 서비스 중단으로 이어질 수 있는 세그멘테이션 폴트(segfault) 관련 버그들입니다.

  • MySQLnd #77955: php-fpm 환경에서 랜덤하게 발생하는 세그멘테이션 폴트 수정. Laravel 애플리케이션의 대다수가 php-fpm + MySQL 조합을 사용하므로, 원인 불명의 프로세스 재시작이 발생했다면 이 버그가 원인일 가능성이 있습니다.
  • DOM #78025: DOMDocumentType 프로퍼티 접근 시 세그멘테이션 폴트 수정. XML/HTML 파싱을 수행하는 Laravel 패키지 사용 시 영향받을 수 있습니다.
  • Sodium #78114: eval() 내부에서 sodium_* 함수 호출 시 세그멘테이션 폴트 수정.
  • phpdbg #78050: opcache와 함께 파일을 두 번 include할 때 발생하는 세그멘테이션 폴트 수정.

🟠 데이터베이스 관련 수정 — MySQLi

  • #77956: mysqli.allow_local_infile = Off 설정 시 의미 있는 오류 메시지 제공. PHP 7.3.3부터 LOCAL INFILE이 기본적으로 비활성화된 것과 연관된 개선 사항입니다.
  • #38546: bindParam()bool 타입 처리 오류 수정. Laravel Eloquent 또는 Query Builder에서 PDO를 통해 boolean 값을 바인딩할 때 잘못된 동작이 발생할 수 있었습니다.

🟠 Opcache 관련 수정 — 성능 및 정확성

  • #78015: SCCP(Sparse Conditional Constant Propagation) 최적화에서 부분 배열을 포함하는 표현식의 잘못된 평가 수정. Opcache가 활성화된 환경에서 특정 PHP 코드가 예상과 다른 결과를 반환할 수 있었습니다.
  • #78106: 요청 중 Opcache가 비활성화된 경우 경로 분석 실패 수정.

🟡 기타 주요 수정 사항

  • Core #76980: autoloader가 예외를 던질 때 인터페이스가 건너뛰어지는 버그 수정. Laravel의 PSR-4 오토로딩 환경에서 예외 처리 흐름에 영향을 줄 수 있었습니다.
  • Sockets #78038: socket_select()가 참조를 포함한 리소스 배열에서 실패하는 버그 수정. Laravel Octane, ReactPHP, 또는 소켓 기반 큐 워커 사용 시 관련될 수 있습니다.
  • Standard #77135: extract() 함수에서 EXTR_SKIP 사용 시 $this를 건너뛰어야 하는 동작 수정.
  • Standard ##77937: preg_match() 실패 버그 수정. Laravel의 라우팅 및 유효성 검사는 내부적으로 정규식을 광범위하게 사용하므로 주의가 필요합니다.

📋 7.3.6 이전 버전의 누적 보안 수정 (참고)

7.3.7 릴리스 노트에는 이전 버전의 변경 이력도 포함되어 있습니다. 7.3.6 이하를 사용 중이라면 아래 CVE도 함께 해결됩니다.

CVE영향 컴포넌트설명
CVE-2019-11040EXIFheap-buffer-overflow
CVE-2019-11038GD초기화되지 않은 읽기
CVE-2019-11039Iconv정수 오버플로로 인한 범위 초과 읽기
CVE-2019-11036EXIFheap-buffer-overflow
CVE-2019-11034EXIFheap-buffer-overflow
CVE-2019-11035EXIFheap-buffer-overflow

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

호환성

  • PHP 7.3.7은 7.3.x 계열 내 패치 버전이므로 하위 호환성이 유지됩니다. composer.json의 PHP 버전 제약 조건("php": "^7.3" 등)을 변경할 필요가 없습니다.
  • Laravel 5.8 및 Laravel 6.x는 PHP 7.3을 공식 지원하며, 이번 업그레이드는 코드 변경 없이 적용 가능합니다.

마이그레이션 노력

  • 낮음. 런타임(PHP 바이너리)만 교체하면 됩니다. 애플리케이션 코드 수정은 불필요합니다.

보안 긴급도

  • 7.3.6 이하를 사용 중이라면 긴급입니다. 사용자 이미지 업로드를 처리하는 서비스(GD, EXIF 취약점)나 문자열 인코딩 처리(Iconv CVE)가 포함된 Laravel 애플리케이션은 공격 대상이 될 수 있습니다.
  • 이미 7.3.6을 사용 중이라도 MySQLnd 세그멘테이션 폴트(#77955) 및 Opcache 오류(#78015) 수정을 위해 빠른 업그레이드를 권장합니다.

로컬 개발 환경 별 적용 방법

Laravel Valet (macOS, Homebrew)

brew upgrade php# 또는 특정 버전이 설치된 경우brew upgrade php@7.3valet restartphp -v  #  

Laravel Sail (Docker)

  • docker/8.x/Dockerfile 또는 커스텀 Dockerfile에서 베이스 이미지 태그를 확인합니다.
  • php:7.3-fpm 이미지를 사용하는 경우, Docker Hub에서 최신 이미지를 pull하면 7.3.7이 포함될 수 있습니다. (이미지 빌드 시점에 따라 다를 수 있으므로 php -v로 반드시 확인)
docker compose pulldocker compose build --no-cachedocker compose up -ddocker compose exec laravel.test php -v

서버 직접 운영 (Ubuntu/Debian — ondrej/php PPA)

sudo apt-get updatesudo apt-get upgrade php7.3php -vsudo systemctl restart php7.3-fpm

서버 직접 운영 (CentOS/RHEL — Remi's RPM)

sudo yum update php73php -vsudo systemctl restart php-fpm

⚠️ 불확실성 안내: 특정 패키지 저장소에서 7.3.7 패키지의 제공 시점은 배포판 및 저장소 관리자에 따라 다를 수 있습니다. 설치 후 반드시 php -v로 버전을 확인하세요.


실무 체크리스트

로컬 환경

  • php -v 명령어로 현재 PHP 버전 확인
  • Homebrew 또는 Docker 이미지를 통해 PHP 7.3.7로 업데이트
  • php artisan serve 또는 Valet/Sail로 애플리케이션 정상 구동 확인
  • php artisan test 또는 ./vendor/bin/phpunit으로 전체 테스트 스위트 실행
  • MySQLi/PDO 연동 테스트 — 특히 bindParam()에 boolean 값을 전달하는 코드 확인

스테이징 환경

  • PHP 업그레이드 후 php artisan config:clear && php artisan cache:clear 실행
  • Opcache 관련 설정 확인 (opcache.enable, opcache.validate_timestamps)
  • php artisan queue:work 등 큐 워커 재시작 후 정상 동작 확인
  • 이미지 업로드/처리 기능이 있는 경우 EXIF/GD 관련 기능 회귀 테스트
  • preg_match() 또는 정규식 기반 유효성 검사 규칙 동작 확인 (#77937 수정 관련)
  • php-fpm 재시작 후 로그에 세그멘테이션 폴트 오류가 사라졌는지 확인

프로덕션 환경

  • 서버 패키지 매니저를 통해 PHP 7.3.7 패키지 가용 여부 확인 (apt-get changelog php7.3 또는 yum info php73)
  • 블루/그린 배포 또는 카나리 배포 전략으로 단계적 적용 권장
  • PHP-FPM 무중단 재시작 적용 (sudo systemctl reload php7.3-fpmrestart 대신 reload 사용)
  • 배포 후 APM(New Relic, Datadog, Sentry) 또는 서버 로그에서 오류율 모니터링
  • php -vphp -m으로 업그레이드된 버전 및 익스텐션 목록 최종 확인
  • 롤백 계획 수립 — 이전 PHP 패키지 버전 또는 Docker 이미지 태그를 기록해 두기