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, #CannotRedeclare, #FatalError, #중복함수, #require_once, #function_exists, #백엔드디버깅, #php에러, #php트러블슈팅, #함수관리
728x90
반응형
'PHP > PHP 에러 해결 모음' 카테고리의 다른 글
PHP include 에러 해결 - 파일 경로 문제와 failed opening 대응법 (0) | 2025.04.12 |
---|---|
PHP Undefined variable 경고 해결 - 초기화되지 않은 변수 다루기 (2) | 2025.04.11 |
PHP Undefined variable 경고 해결 가이드 - 변수 선언 누락 주의! (0) | 2025.04.10 |
PHP include() 오류 해결법 - Failed opening required 원인과 대처법 (0) | 2025.04.10 |
PHP Call to undefined function 에러 해결법 - 정의되지 않은 함수 호출 에러 (0) | 2025.04.09 |