extend 에서 함수실행시 오류문의합니다(재질문)
본문
글을 남겼는데 답을 찾지 못해서 재질문드립니다. 상태는 그누보드 바로 설치한상태이구요
lib 폴더에 test.php 파일을 생성했습니다.
이 파일을 extend/user.config.php 파일에서 include 할떄 문제가 발생됩니다.
두개의 파일 각각 include 하고 echo 찍으면 안녕하세요 란 글씨가 표시됩니다.
그렇기에 경로문제는 아닌것같습니다.
그런데 상대경로로 했을때 스크립트 오류가 납니다. 절대경로로 했을때는 오류가안나구요
오류나는 부분은 캡챠에서 오류가나오구요
캡차확인할때 echo 는 주석처리한상태입니다.
이게 절대경로로 했을때와 상대경로로 했을때 왜 스크립트 오류가 나는지 아시는분 계실런지요..
------------user.config.php
//include_once('/www/board/lib/test.php'); //문제없음
include_once('../lib/test.php'); //스크립트오류남
$tmptmptmptmp = aacnt("free");
//echo $tmptmptmptmp; //값은 두개의 include 모두 정상적으로 받아옮
------------test.php
function aacnt($ment='')
{
return "안녕하세요";
}
답변 3
저 인크루드 부분에서는 G5_THEME_LIB."/test.php";
이렇게해보세요.
그리고 특별한 상황이 아니고서는 extend말고 플러그인 아니면 다른 폴더를 만들어서 쓰는게 좋아요
루프가 되어서 그누전체적으로 문제가 되요 저도 알고나서부턴 플러그인내부에서 기능 만들어서 사용해요
../lib <---이 경로가 현재 화일 위치에 따라 맞을 수도 있고 틀릴 수도 있죠
root에 있는 화일에서 불러 올때와 bbs폴더의 화일에서 불러 올때를 생각해보면
lib폴더 경로가 모두 (..) 이것이 될 수가 없죠
그래서 그누보드에서는 최상위 폴더 기준으로 G5_PATH 가 있습니다
문제 없음 코드를 이용하여 수정하면 아래와 같이 되겠습니다
include_once(G5_PATH.'/board/lib/test.php'); //문제없음
그리고 extend폴더의 화일에 출력(echo)을 넣으면 여러곳에서 에러가 납니다
plugin 캡챠쪽에서도 상대경로의 변수값을 넣어줘야하는데, 안넣어줘서 문제가 됬었던거네요..ㅜㅜ
답변주신분들 모두 너무너무 감사합니다.~~~