작은숲:위키노트/미디어위키 파일 캐시 초기화

큰숲백과, 나무를 보지 말고 큰 숲을 보라.

작은숲:위키노트/미디어위키 파일 캐시 설정을 통해 파일 캐시를 쓰다보면 생각했던 대로 문서가 갱신이 되지 않는 경우가 있다. 이것은 문서 내에 끼워넣기한 문서가 있다든지 아니면 사용한 확장 기능에서 동적으로 생성되는 내용을 출력하기 때문인 경우가 많다. 이런 경우 작은숲:위키노트/브라우저에서 F5를 눌러 새로 고침하면 바뀌는 경우도 있으나 그렇지 않다면 저장된 파일 캐시를 지워야 한다.

개별 문서의 캐시 갱신

하나의 문서의 캐시를 지울 때는 문서의 URL 뒤에 ?action=purge를 붙인 후 ↵ Enter를 누르면 캐시를 갱신한다. 아니면 Purge 확장 기능을 설치하면 상단 탭에 새로 고침 탭을 만들어줘서 편하게 캐시를 갱신할 수 있다.

모든 문서의 캐시 갱신

$wgCacheEpoch 변수 설정

만약 모든 문서의 캐시를 지우고 싶다면 LocalSettings.php$wgCacheEpoch 변수를 설정하는 방법도 있다. $wgCacheEpoch 변수에 특정 시각을 설정하면 그 시각 이전에 만들어진 캐시 파일은 무효가 되어 갱신된다.

$wgCacheEpoch = gmdate('YmdHis');

미디어위키에서는 모든 시간을 UTC를 기준으로 하기 때문에 date() 함수가 아닌 gmdate() 함수를 썼다. 다만 이 상태로 그대로 두면 계속 모든 문서들의 캐시가 갱신되니 주의해야 한다. 아니면 문서 내에서 현재 시각을 출력해주는 특수 기능인 {{CURRENTTIMESTAMP}}를 써서 현재 시각을 알아낸 후 이 값을 $wgCacheEpoch 변수에 설정해도 된다.

purgeList.php 관리 기능 사용

만약 콘솔에 로그인할 수 있다면 purgeList.php 관리 기능을 사용하면 모든 문서의 캐시를 갱신할 수 있다.

$ php maintenance/purgeList.php --purge --all

$wgFileCacheDirectory 디렉토리 내의 모든 파일 삭제

과격한 방법이지만 LocalSettings.php에서 $wgFileCacheDirectory 변수에 설정한 디렉토리 내에 있는 모든 파일을 지우는 방법도 있다. 하지만 그다지 추천할 만한 방법은 아니다. 가능하면 위 방법들을 사용하고 최후의 수단 쯤으로 생각하자.

참고

이 작은숲 문서의 출처는 위키노트의 위키노트/미디어위키 파일 캐시 초기화 문서입니다.