DEV WIKI
백엔드 · 오류 메시지·상태명 확인

Fatal error: Uncaught ArithmeticError: Bit shift by negative number in /tmp/test.php:2

PHP 7에서 음수 값으로 비트 시프트를 수행할 때 표시되는 ArithmeticError입니다.

빠른 답변

확인 범위
PHP 7에서는 음수 값으로 비트 시프트를 수행하면 ArithmeticError가 발생합니다.
먼저 확인할 항목
비트 시프트 연산자의 오른쪽 피연산자가 음수인지 확인합니다.
적용 범위
화면 또는 로그에 같은 오류 메시지·상태명이 표시된 경우
출처
PHP
출처 확인일
2026-07-24
최종 검토
2026-07-24
관련 기술
오류·수정 제보 (새 창에서 열림)

이 문서의 범위

이 문서는 화면·로그의 오류 메시지 또는 상태명을 공식 자료와 대조하는 데 사용합니다. 이 문구만으로 실제 원인이나 변경 방법을 확정하지 않으며, 아래 관련 기술 문서에서 적용 환경을 추가로 확인해야 합니다.

현재 증상

  • 애플리케이션 오류 메시지

먼저 확인할 항목

비트 시프트 연산자의 오른쪽 피연산자가 음수인지 확인합니다.

현재 오류 문자열에 `ArithmeticError: Bit shift by negative number`가 포함되는지 원문의 PHP 7 출력과 대조합니다.

오류 메시지·상태명 확인 범위

증상

PHP 7에서 음수 값으로 비트 시프트를 수행하면 다음 오류가 표시됩니다.

Fatal error: Uncaught ArithmeticError: Bit shift by negative number in /tmp/test.php:2

확인

  1. 문제가 발생한 코드에서 비트 시프트 연산자의 오른쪽 피연산자가 음수인지 확인합니다.
  2. 원문의 예시인 var_dump(1 >> -1);를 PHP 7에서 실행했을 때 위 오류 메시지가 출력되는지 비교합니다.
  3. 현재 화면 또는 로그의 오류 문자열에 ArithmeticError: Bit shift by negative number가 포함되는지 원문의 출력과 대조합니다.

원문 예시에서 PHP 5의 출력은 int(0)이며, PHP 7의 출력은 ArithmeticError를 포함한 치명적 오류입니다.

출처: PHP: Backward incompatible changes (새 창에서 열림)

참고 자료

PHP: Backward incompatible changes - Manual (새 창에서 열림)

PHP · 공식 자료 · 확인 범위: PHP 7에서 음수 값으로 비트 시프트하면 ArithmeticError가 발생합니다., 원문의 `var_dump(1 >> -1);` 예시는 PHP 7에서 해당 치명적 오류를 출력합니다., 원문의 같은 예시는 PHP 5에서 `int(0)`을 출력합니다. · 확인일: 2026-07-24