그누보드와 직접관련은 없지만 정보
그누보드와 직접관련은 없지만본문
어제 제 서버의 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
뭐 이런식으로 그누보드의 모든 변수들에 대해서 뭐라뭐라 에러메세지를 만들어서 로그에 쌓던데요...
이걸 어찌 대처해야 되는건지요...
그 후에 일정시간이 지나면 사이트가 다운이 되는겁니다.
그래서 원인이 뭔가 찾다보니까
에러로그가 몇시간만에 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.ini에서 log_errors를 off로 놓으니 해결은 되었습니다만..
저 에러의 내용이 뭘까요
저 에러의 내용이 뭘까요
위 에러는 그누보드에서 사용중인 각종 상수/변수/함수 들이 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 코드 파싱이 필요없기 때문입니다.)
일종의 안내 메세지라 보시면 됩니다.
그러나 실제 그누보드 사용상의 문제는 없으며 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 코드 파싱이 필요없기 때문입니다.)