PHP/PHP 에러 해결 모음

PHP Cannot redeclare function 에러 해결법 - 함수 중복 선언 방지 가이드

backend.log 2025. 4. 11. 18:00
728x90
반응형

📌 PHP Cannot redeclare function 에러 해결법 - 함수 중복 선언 방지 가이드

다음과 같은 PHP 에러 메시지를 경험해보신 적 있나요?

Fatal error: Cannot redeclare sayHello() (previously declared in /var/www/html/functions.php:5) in /var/www/html/functions.php on line 10

이 에러는 동일한 이름의 함수를 두 번 선언하려고 할 때 발생합니다.


🧨 주요 원인

  • include 또는 require로 동일한 파일을 여러 번 불러올 경우
  • 함수명이 중복되었을 경우
  • 라이브러리나 공통 함수 파일에서 중복 선언된 함수 포함

🛠 해결 방법

1. include_once 또는 require_once 사용

<?php
require_once 'functions.php'; // ← 한 번만 불러옴
?>

2. 함수 선언 전에 존재 여부 체크

<?php
if (!function_exists('sayHello')) {
  function sayHello() {
    echo "안녕하세요!";
  }
}
?>

3. 중복된 함수명 리팩토링

같은 프로젝트 내에서 같은 이름의 함수가 중복되지 않도록 함수명을 네임스페이스처럼 구분하거나 고유하게 구성하세요.


✅ 실무 팁

  • 함수 선언은 가급적 function_exists()로 감싸는 습관 추천
  • include보다 require_once 사용 권장
  • 프로젝트의 모든 함수들을 한 곳에 모아 관리하는 구조 설계가 중요

📚 관련 글

🧩 PHP 에러 시리즈 전체 보기


태그: #PHP, #CannotRedeclare, #FatalError, #중복함수, #require_once, #function_exists, #백엔드디버깅, #php에러, #php트러블슈팅, #함수관리

728x90
반응형