채택완료

$cache_fwrite 질문입니다.

2018-01-16 (화) 17:16:59 2,225

latest.lib.php의 67번째 줄

Copy
if($cache_fwrite) {
            $handle = fopen($cache_file, 'w');
            $cache_content = "<?php\nif (!defined('_GNUBOARD_'))

            exit;\n\$bo_subject='".sql_escape_string($bo_subject)."';\n\$list=".var_export($list, true)."?>";
            fwrite($handle, $cache_content);
            fclose($handle);

호스팅은 카페24 사용중입니다.

위의 코드 역할이 뭔가요;;?

저 코드를 주석 처리하면

최신게시물 불러오는데 에러가 나오지 않는데..

주석을 제거하면 에러가 출력됩니다.

에러 메시지는 아래와 같습니다.

failed to open stream: No such file or directory in /home/hosting_users/xxxx/www/lib/latest.lib.php on line 68

Warning: fwrite() expects parameter 1 to be resource, boolean given in/home/hosting_users/xxxxx/www/lib/latest.lib.php on line 70

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/hosting_users/xxxxx/www/lib/latest.lib.php on line 71

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

/data/cache 폴더의 권한이나 서버용량을 다시 한번 체크해보시기 바랍니다.

최신글을 불러 올 때 DB에서 읽는 것보다 파일에서 직접 읽어오면 조금 더 빠르게 페이지를 열수 있습니다. 그래서 최신글 내용을 파일로 작성하는 소스입니다.

답변에 대한 댓글 1개

cache 폴더의 권한은

소유자 권한
읽기 쓰기 실행

그룹 권한
읽기 실행

공개 권한
읽기 실행

입니다.

숫자값은 755 구요.

if($cache_fwrite) {     이 라인은 만약 캐쉬 파일을 생성해야 한다면  으로 생각하시면 됩니다.

실제 오류는 $cache_file  이 파일의 위치가 맞는진 생성가능한지 보셔야 합니다.

cache 디렉토리는 707 이 되어야 합니다.

답변에 대한 댓글 1개

$cache_file 을 추적해 봐야겠네요.
감사드려요!

하다가 궁금한게 있으면 댓글 달아도 될까요?ㅎ

답변을 작성하려면 로그인이 필요합니다.