묻고답하기
php 프렉탈 에러가 납니다.. __xe_autoload
2017.02.08 10:51
안녕하세요, 홈페이지를 운영하는데 에러가 계속 발생해서 문의를 드립니다.
에러 문구는 아래와 같습니다.
PHP Fatal error: Cannot redeclare __xe_autoload() (previously declared in :0) in /홈디렉토리/config/config.inc.php on line 421
인터넷에 찾아봐도 별다른 해결점을 찾지 못해서요..
버전 정보는 아래와 같습니다.
ubuntu 3.21
php 5.3.10
xe 1.8.21
어떤 단서가 될만한 거라도 알았으면 좋겠네요.
댓글 4
-
기진곰
2017.02.08 16:27
-
타이슨리
2017.02.13 12:01
답변 감사합니다.
외부 페이지는 없고요, 홈페이지 만들 때 layout 폴더와 위젯, 모듈의 스킨 정도 외에는 거의 손대지 않는 편입니다.
현재 홈페이지는 iframe에 의해 감싸져 있습니다. iframe 소스는 아래와 같습니다.
<!DOCTYPE html>
<html>
<head>
<title>WELL</title>
</head><frameset rows="0,*" frameborder="no" border="0" framespacing="0">
<frame src="" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" />
<frame src="./main/index.php" name="mainFrame" id="mainFrame" />
</frameset>
<noframes><body>
</body>
</noframes></html>
홈페이지 주소를 숨겨야 하기에 어쩔 수 없이 iframe을 선택하게 된 상황입니다.
(혹시 몰라서 iframe을 제거하고 홈페이지를 띄워 봤는데 상황은 똑같았습니다)
버전이 최신버전이 아니어서 그런가해서 xe를 최신버전으로 올려봤지만 결과는 똑같았습니다.
아파치는 vhost로 /home/*/public_html 방식으로 여러개의 홈페이지가 띄워져 있는 상황입니다. (http://도메인/~폴더이름)
살펴보니 현재 홈페이지 뿐만 아니라 같은 서버의 다른 xe 홈페이지들도 비슷한 상황에 처해 있네요.
뭔가 더 정보가 필요하시면 알려주세요 ^^
-
기진곰
2017.02.13 15:11
사이트에서 iframe을 사용하든 설치폴더 구조가 어떻게 되어 있든 그건 상관없거요, config/config.inc.php 파일을 중복으로 인클루드하는 곳이 어딘지만 찾으면 됩니다. XE 자체에는 중복으로 인클루드하는 구간이 없으니, 사용하시는 레이아웃, 스킨, 위젯, 외부페이지(같은 사이트 내에 있더라도 페이지 모듈을 사용해서 불러오면 모두 외부페이지입니다) 등을 의심해 보아야 합니다.
-
타이슨리
2017.02.17 13:02
기진곰님이 말씀해주신대로 중복 인클루드 문제더군요.
해당 config.inc.php 파일의 xe_autoload()부분의 function이 없을 때만 사용하게 했더니 에러가 사라졌습니다.
답변 감사합니다 !!!
config/config.inc.php 파일이 두 번 인클루드되고 있는 것 같습니다. 혹시 다른 스크립트에서 XE와 연동하고 있거나, config.inc.php 파일을 인클루드하는 외부 페이지가 있나요?