fullcalendar 이벤트 표기 안되는 오류 (Fatal error: Cannot redeclare class Event)
FullCanlendar는 자바스크립트 기반으로 월별/주별/일별 다양한 포멧으로 달력 기능을 제공해주는 오픈소스이다.
FullCalendar - JavaScript Event Calendar
Open Source... With over 10 years of open source and over 120 contributors, FullCalendar will always have a free and open source core. Learn more
fullcalendar.io
잘 잘동하던 fullcalendar가 갑자기 어느날 부터 이벤트를 달력에 표기하지 못하는 오류가 발생.
1. 오류 찾기
fullcalendar 파일 중 이벤트를 불러오는 get-events.php 파일 자체에 접속이 안된다는 것을 확인하여, get-events.php 상단에 아래 코드를 넣어서 오류를 찾아보기로 했다.
error_reporting(E_ALL);
ini_set("display_errors",1);
위의 코드를 넣으니 아래와 같이 오류 리스트가 떴다.
Fatal error: Cannot redeclare class Event
이 오류는 Event라는 class를 두번 불러오는 등 중복이 되어서 생기는 오류라고 한다.
2. 클래스명 변경
1) get-events.php에서 required로 불러오고 있는 utils.php 12번째줄에 오류가 있다고해서 해당 파일을 수정하였다.
12번째줄 class Event 로 되어있는것을 class Event2 로 변경!
2) 그리고 다른 파일에서 Event 클래스를 불러오는 곳도 모두 Event -> Event2로 변경해준다.
Fullcalendar플러그인에서는 get-events.php만 수정해주면 되는 듯하다. 파일 마지막쯤 new Event로 되어있는것을 new Event2로 변경해주면 끝.
클래스명을 어디선가 사용하고 있어 중복으로 오류가 났던것 같다.
클래스명만 변경해주니 해결 완료!