그누보드와 직접관련은 없지만 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

그누보드와 직접관련은 없지만 정보

그누보드와 직접관련은 없지만

본문

어제 제 서버의 php를 4.4.1로 업그레이드를 했는데요..
그 후에 일정시간이 지나면 사이트가 다운이 되는겁니다.
그래서 원인이 뭔가 찾다보니까
에러로그가 몇시간만에 2기가가 넘게 쌓이더군요.
그래서 그 내용이 뭔가.. 살펴보니
[Sat Nov  5 21:40:38 2005] [error] PHP Notice:  Use of undefined constant bbs_dir - assumed 'bbs_dir' in /home/xxx/public_html/config.php on line 6
뭐 이런식으로 그누보드의 모든 변수들에 대해서 뭐라뭐라 에러메세지를 만들어서 로그에 쌓던데요...
이걸 어찌 대처해야 되는건지요...
  • 복사

댓글 전체

위 에러는 그누보드에서 사용중인 각종 상수/변수/함수 들이 php 의 정해진 규칙에 따라(싱글/더블 쿼터등)사용되지 않아서 error_reporting(E_ALL); 함수로 인해 Notice 에러메세지를 출력하는 것입니다.
일종의 안내 메세지라 보시면 됩니다.
그러나 실제 그누보드 사용상의 문제는 없으며 php 코드 파싱상의 안내사항이라 보시면 되겠습니다.

위 에러가 나오지 않게 하려면 모든 상수/변수/함수에 대한 정확한 사용법을 지켜줘야 합니다.

간단히 예를 들자면 위 파일인 config.php 파일에서 아래 변수들이,
$g4[bbs]            = "bbs";
$g4[bbs_path]      = $g4[path] . "/" . $g4[bbs];

아래처럼 선언되어야 하고, 사용시에도 아래처럼 사용되어야 합니다.
$g4['bbs']            = "bbs";
$g4['bbs_path']      = $g4['path'] . "/" . $g4['bbs'];

위 원본 코드와 비교해보면 싱글쿼터가 있고, 없음의 차이를 볼 수 있습니다.
질문하신 내용에 따른 에러메세지 부분을(config.php)모두 바로 위처럼 변경하시면 log_errors 에 에러 로그가 쌓이지 않음을 확인할 수 있을 겁니다.
(참고로, 위 코드는 변수로 사용되므로 더블 쿼터는 사용할 필요가 없습니다.  위 싱글쿼터가 사용된 문장은 php 코드 파싱이 필요없기 때문입니다.)
© SIRSOFT
현재 페이지 제일 처음으로