CI 묻고 답하기

제목 웹페이지 캐싱시 캐싱파일이 생성만 되고 삭제는 되지 않습니다..
글쓴이 마카오최 작성시각 2016/02/20 20:28:07
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 19391   RSS

/application/config/config.php 에는

아래와 같이 3가지로 테스트를 해보았습니다.

 

//$config['cache_path'] = '';
//$config['cache_path'] = APPPATH.'cache/';
$config['cache_path'] = 'cache/';

마지막의 경우는 혹시 application과 system디렉토리가 www보다 상위에 있어서 생기는 문제인가 하여www 아래에 임의로 cache/ 디렉토리를 생성하고 권한은 777로 하여 테스트 해보았습니다.

 

3가지 모두 파일은 잘 생성되는데

 

컨트롤러 클래스에서

$this->output->cache(1); 하면 1분뒤 자동 삭제되야 되는것 아닌가요?

클래스 상에서 삽입 위치는

function __construct()
{
	parent::__construct();
	$this->output->cache(1);
}

이 부분에도 해보았고 각각의 메소드 안에도 해보았지만 결과는 마찬가지로 생성은 잘 되는데 삭제가 안되고 있습니다.

혹시 제 서버가 문제인가 하여 일반 카페24 php7 웹호스팅 환경에서도 테스트해보았지만

동일하게 생성은 되고 삭제는 안되네요.

혹시나 파일 소유주가 아파치로 되어있나 해서 확인해보니

제 서버는 소유주가 아파치인 demon으로 되어있어 파일생성시 권한 문제인가 싶어 그럴수 있겠구나 싶었는데..

카페24 웹호스팅 환경에서 생성된 캐시파일은 소유자와 그룹모두 계정명과 동일하게 되어있고요..

이렇게 되면 삭제에 아무 문제가 없어야 하는것 아닌가요?

생성된 파일의 퍼미션은 두 서버 모두 640 으로 나오고 있습니다.

 

신기한건 제가 명시한 1분 이라는 시간 뒤에 해당 페이지를 새로고침 하면

생성된 캐시파일이 동일한 파일명으로 갱신?이 되고 있습니다..

(이말은 동일 파일이 존재시 삭제하고 다시 만들어진것 아닌가요?? 삭제가 되는건가요????)

 

두개의 서버에서 동일 증상인데 어떤 문제가 있는걸까요?

CI 3.0.4

1. PHP 7.0.3 / 2. PHP 7.0.0

 

 다음글 ajax이용 회원가입시 id중복체크할려구 하는데 질문드... (5)
 이전글 배열에 관한 질문 입니다^^ (8)

댓글

변종원(웅파) / 2016/02/22 11:00:49 / 추천 1

캐시 삭제는 캐시 라이브러리에 따로 함수가 있습니다. delete()

적어주신 함수는 삭제와 상관없습니다.

cache($time)
인수:
  • $time (int) – Cache expiration time in seconds
반환값:

CI_Output instance (method chaining)

반환형:

CI_Output

지정된 시간 (초)동안 현재 페이지를 캐시

더 많은 정보를 원하시면, 다음 캐싱 문서 (caching documentation)를 참조하세요.

마카오최 / 2016/02/23 11:57:50 / 추천 0

변종원(웅파) 님 답변 감사합니다. 

캐싱을 제가 잘못 이해하고 있었네요....

ci captcha 랑 동작 원리를 약간 혼동했습니다..

자동으로 사라지는게 아니고 유효시간 같은거였군요.

잘만 사용하면 꽤 유용해 보이는데 부분부분 적용할지 전체에 적용할지 좀더 고민해봐야겠네요.