그누보드 콘트롤 타워 common.php 의 의미없는 디비 connect 없애기 정보
그누보드 콘트롤 타워 common.php 의 의미없는 디비 connect 없애기
본문
그누보드는 그누보드내의 페이지를 호출할때마다 항상 common.php를 호출하도록 되어 있습니다.
그누보드 배포판을 기준으로 설명드리자면 비회원이 게시판의 글을 읽고자 클릭을 할 경우 코멘트창밑에 자동글등록방지 코드가 생성됩니다.
ajax를 이용해서 kcaptcha_session.php, kcaptcha_image.php을 호출하여 이미지를 생성하고 보여줍니다. 또한 이미지를 클릭할경우 다른이미지를 보여주도록 되어 있습니다.
이 과정에서 kcaptcha_session.php, kcaptcha_image.php는 실제 디비접근은 필요없음에도 common.php를 include 하게되면서, 무의미한 디비 접근을 두번이나 닫았다 엽니다.
mysql_pconnect()를 활용한 영구적인 접속 방법은, 운영하는 환경에 따라 틀려질수 있음으로 논외로 하고 mysql_connect() 환경하에서는 접속요청을 줄이는것도 서버의 부하를 줄일수 있다고 생각됩니다.
common.php 소스중에서 아래의 디비접근 소스를 제외한 별도의 common_nodb.php를 만들어 디비 접속과 상관없는 페이지의 경우 common_nodb.php를 include하도록 수정해서 사용중입니다.
$connect_db = sql_connect($mysql_host, $mysql_user, $mysql_password);
$select_db = sql_select_db($mysql_db, $connect_db);
현재, 그누보드에서 디비 접근과 무관하면서, 중복적인 디비접근을 시도하는 페이지를 더 찾아보는 중입니다.
그누보드 배포판을 기준으로 설명드리자면 비회원이 게시판의 글을 읽고자 클릭을 할 경우 코멘트창밑에 자동글등록방지 코드가 생성됩니다.
ajax를 이용해서 kcaptcha_session.php, kcaptcha_image.php을 호출하여 이미지를 생성하고 보여줍니다. 또한 이미지를 클릭할경우 다른이미지를 보여주도록 되어 있습니다.
이 과정에서 kcaptcha_session.php, kcaptcha_image.php는 실제 디비접근은 필요없음에도 common.php를 include 하게되면서, 무의미한 디비 접근을 두번이나 닫았다 엽니다.
mysql_pconnect()를 활용한 영구적인 접속 방법은, 운영하는 환경에 따라 틀려질수 있음으로 논외로 하고 mysql_connect() 환경하에서는 접속요청을 줄이는것도 서버의 부하를 줄일수 있다고 생각됩니다.
common.php 소스중에서 아래의 디비접근 소스를 제외한 별도의 common_nodb.php를 만들어 디비 접속과 상관없는 페이지의 경우 common_nodb.php를 include하도록 수정해서 사용중입니다.
$connect_db = sql_connect($mysql_host, $mysql_user, $mysql_password);
$select_db = sql_select_db($mysql_db, $connect_db);
현재, 그누보드에서 디비 접근과 무관하면서, 중복적인 디비접근을 시도하는 페이지를 더 찾아보는 중입니다.
추천
2
2
댓글 4개
해당 페이지를 본다는 것은 이미 db connection이 생성되어 있다는 의미가 아닌가요?

비회원의 경우 board.php?bo_table=테이블명&wr_id=글번호 이렇게 글을 읽게 됩니다.
이 때 Mysql 에 sql_connect 요청을 한번만 해도 될걸 세번이나 한다는 의미입니다.
kcaptcha_session.php, kcaptcha_image.php 에서 include하는 _common.php를 적당히 수정해주시면 한번만 컨넥트 요청이 됩니다.
captcha는 디비와 아무 관련이 없는 별도 페이지거든요. 실행에 아무 문제도 없습니다.
이 때 Mysql 에 sql_connect 요청을 한번만 해도 될걸 세번이나 한다는 의미입니다.
kcaptcha_session.php, kcaptcha_image.php 에서 include하는 _common.php를 적당히 수정해주시면 한번만 컨넥트 요청이 됩니다.
captcha는 디비와 아무 관련이 없는 별도 페이지거든요. 실행에 아무 문제도 없습니다.
전 너무나 초보자인데요
만약에요 그누보드파일 모두를 어떻게 common.php를 include 한 파일들을 찾을 수 있을까요?
수백개가 되는 파일들인데.. 빠르게 찾는 방법을 알아야 수정을 할 수 있지 않을까요?
저의 짧은 생각에는 common.php에 common_nodb.php파일 내용을 추가하고 그에 따라 조건을 설정해두면 수정하는데 어려움이 없지 않을까 생각 합니다.
너무 초보적인 이야기 인가요?
만약에요 그누보드파일 모두를 어떻게 common.php를 include 한 파일들을 찾을 수 있을까요?
수백개가 되는 파일들인데.. 빠르게 찾는 방법을 알아야 수정을 할 수 있지 않을까요?
저의 짧은 생각에는 common.php에 common_nodb.php파일 내용을 추가하고 그에 따라 조건을 설정해두면 수정하는데 어려움이 없지 않을까 생각 합니다.
너무 초보적인 이야기 인가요?

common.php는
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 이렇게 시작하지 않는 페이지는 모두다 common.php를 호출합니다.
다 찾자는게 아니라, 그누보드 페이지중에서 디비접근 필요없이 행해지는 캡차를 비롯해서 혹시 다른 화일이 존재하는지 찾아보자는 얘기였고, 디비 접근이 필요할경우엔 해당없습니다.
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가 이렇게 시작하지 않는 페이지는 모두다 common.php를 호출합니다.
다 찾자는게 아니라, 그누보드 페이지중에서 디비접근 필요없이 행해지는 캡차를 비롯해서 혹시 다른 화일이 존재하는지 찾아보자는 얘기였고, 디비 접근이 필요할경우엔 해당없습니다.