개발/php

fullcalendar 이벤트 표기 안되는 오류 (Fatal error: Cannot redeclare class Event)

반응형

FullCanlendar는 자바스크립트 기반으로 월별/주별/일별 다양한 포멧으로 달력 기능을 제공해주는 오픈소스이다.

 

https://fullcalendar.io/

 

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로 변경해주면 끝.

 

 

 

클래스명을 어디선가 사용하고 있어 중복으로 오류가 났던것 같다.

클래스명만 변경해주니 해결 완료!

반응형