PHP 업그레이드 뒤 기존 사이트에 오류가 생겼어요
PHP 5에서 PHP 7로 올린 뒤 기존 코드에 파서 오류 또는 예외 처리기 치명적 오류가 나타날 때 오류 원문으로 확인 문서를 고릅니다.
빠른 답변
PHP 업그레이드 뒤 오류가 생기면 이전·현재 PHP 버전과 오류 원문·파일·줄을 기록한 뒤 같은 하위 호환성 변경을 다루는 문서를 확인해야 합니다. 운영 코드 전체를 한 번에 바꾸지 마세요.
이 가이드가 맞는 경우
- 애플리케이션 오류 메시지
상황별 다음 단계
호스팅사·개발자에게 전달할 내용
변경 전 기록
- 업그레이드 전후 PHP 버전, 오류 원문, 파일과 줄 번호, 재현 URL을 전달합니다.
- 실제 고객 데이터, 비밀키, 세션 값, 전체 운영 소스는 전달하지 않습니다.
알아둘 점
PHP 버전을 올린 뒤 보이는 오류는 단순한 서버 장애와 다를 수 있습니다. 업그레이드 전후 PHP 버전, 오류 원문, 파일·줄 번호를 기록하고 같은 오류 문구를 고르세요.
먼저 기록할 것
- 업그레이드 전후의 PHP 버전을 기록합니다.
- 오류 원문과 파일·줄 번호, 재현 URL을 기록합니다.
- 실제 고객 데이터, 비밀키, 세션 값, 전체 운영 소스는 전달 자료에 포함하지 않습니다.
unexpected 'new' (T_NEW)가 보이면 첫 번째 분기를 확인하세요. set_exception_handler()와 Exception 타입 선언이 있는 처리기에서 Error 객체 뒤 치명적 오류가 발생하면 두 번째 분기를 확인하세요.
두 분기 외의 오류에는 이 가이드의 코드 변경을 적용하지 마세요. 테스트 가능한 복사본에서 한 변경만 확인한 뒤 운영 반영 여부를 판단합니다.
참고 자료
PHP: Backward incompatible changes - Manual (새 창에서 열림)
PHP · 공식 자료 · 확인 범위: PHP 7에서는 new 결과의 참조 대입을 허용하지 않습니다., PHP 7의 Error 객체 변경은 Exception 타입 선언을 쓴 set_exception_handler 처리기에서 치명적 오류를 만들 수 있습니다. · 확인일: 2026-07-27