캐쉬관련 문의좀 드립니다
본문
그누보드5 버전과 gnuxe 설치했는데요.
최신글 추출하는 lib 파일에서 작동이 안되는 부분은 대략 찾았는데, 이게 캐쉬 관련인거 같은데,
캐쉬쪽은 잘 모르겠어서 문의좀 드립니다.
$handle = fopen($cache_file, 'w');
$cache_content = "<?php\nif (!defined('_GNUBOARD_')) exit;\n\$bo_subject=\"".get_text($board['bo_subject'])."\";\n\$list=".var_export($list, true)."?>";
fwrite($handle, $cache_content);
fclose($handle);
최신글 마지막 부분에 위처럼 소스가 되어 있는데요.
fwrite 부분을 주석처리 하고 관리자 페이지에서 캐쉬를 삭제한후에 웹페이지 접속을 하면 한번은 정상적으로 뜹니다.
그리고 리프레쉬하면 내용이 없이 빈내용으로 뜹니다.
그런데 fwrite 부분의 주석을 풀어 놓으면
select wr_content from g5_write_ where wr_id = '1'
1146 : Table 'lovedb2.g5_write_' doesn't exist
error file : /index.php
위와 같은 오류가 발생 합니다.
bo_table 값이 제대로 안넘어가서 그런거 같은데, 캐쉬를 삭제하면 한번 저장이 되고 다음에 리프레쉬를 하면 날라가는 이러한게 대략 캐쉬에 제대로 값이 저장이 안된거 아닌가 하는데요..
위에 소스를 제가 잘 이해 못하겠습니다.
어떤 원리인가요?
답변 1
이전 문의글에 반영된 소스 g5에 적용 최신글 추출시 정상 동작 확인 됩니다.
(소스 그대로에서 스킨 경로만 그누 basic으로 변경테스트 결과)
스킨 lib 자체에는
select wr_content from 과 관련된 소스(또는 해당 처리가 필요한 함수 사용) 이 없는 것으로 확인되며
사용하려는 최신글 스킨에 thumbnail 추출을 위한 추가를 하셨는지 등 lib 이외 추가 처리한 것을
남기셔서 재문의 해 보세요.
g5 파일 전체 내용 중
select wr_content from 과 관련된 처리는 lib/thumbnail.lib.php 에 있음 (다른 곳에는 없는 것으로 체크 됨)
최신글 스킨에서 뭔가 다른 처리를 하고 계시다면
<?php for ($i=0; $i<count($list); $i++) {
echo $list[$i][bo_table]; // 출력 <- 이걸 가공해서 $bo_table 등 필요한 곳에 사용
echo $bo_table; // 출력 안됨
답변을 작성하시기 전에 로그인 해주세요.