Flarum beta 버전의 캐시 문제는 이 포럼 프로그램에서 발생하는 각종 오류의 주요 원인입니다. 예를 들면 nojs, 관리자 페이지에서 스타일을 변경했지만 프런트엔드에는 반영되지 않는 문제, 언어를 전환할 때 오류가 발생하며 xxx.xxx.xx로 표시되는 문제 등이 있습니다. 아래에서 Flarum의 캐시 메커니즘을 자세히 설명하겠습니다.
Flarum의 캐시는 크게 세 부분으로 나뉩니다.
주 캐시(대부분의 nojs 페이지의 주요 원인)
소개: 포럼에서 생성되어 Flarum 웹사이트 전체를 구성하는 JS와 CSS의 병합 파일입니다. debug를 비활성화하면(기본값)압축 상태가 되고, debug를 활성화하면 비압축 상태가 됩니다.
위치: /assets 디렉터리 아래의 admin-xxx.css, admin-xxx.js, forum-xxx.js, forum-xxx.css 및 rev-manifest.json입니다.
역할: 이름 그대로 admin으로 시작하는 두 파일은 관리자 페이지의 JS 및 CSS 파일을 나타내고, forum으로 시작하는 파일은 웹사이트 프런트엔드의 JS 및 CSS 파일을 나타냅니다. rev-manifest.json에는 이 네 파일의 이름이 기록되며, 웹사이트를 열 때 rev-manifest.json에 요청을 보내 해당 CSS 및 JS 파일을 가져옵니다.
정리: 공식적으로는 웹사이트 루트 디렉터리로 cd한 뒤 php flarum cache:clear를 입력하여 정리할 것을 권장합니다. 하지만 이 정리 명령은 rev-manifest.json을 삭제하지 않으며, 일부 플러그인은 정리한 후에도 rev-manifest.json 파일을 수동으로 삭제해야 합니다.
저장 캐시(일부 nojs 페이지의 주요 원인)
소개: Flarum이 처음 생성하는 캐시 파일입니다(시스템과 플러그인에서 JS, CSS 등을 추출하여 루트 디렉터리의 /storage 아래에 분산 저장한 후, CSS와 JS를 위의 주 캐시로 병합합니다).
위치: /storage 디렉터리 아래의 cache, formatter, less, locale, tmp, views 등의 폴더입니다.
역할:
- cache:일반 캐시로, 포럼에서 사용하는 다양한 캐시 내용을 분산하여 압축합니다. 플러그인을 활성화한 후 적용되지 않거나 nojs가 발생하고, 주 캐시를 정리해도 효과가 없는 경우 이 폴더 안의 모든 파일을 삭제하면 일반적으로 해결됩니다.
- formatter:BBCode 캐시입니다. 사용자 지정 BBCode를 추가한 경우(온라인 동영상의
flarum-ext-mediaembed플러그인을 추가하거나 편집한 경우 포함)반드시 이 폴더 안의 파일을 수동으로 삭제해야 합니다. - less:이름 그대로 포럼에서 사용하는 모든 Less 캐시입니다(Less는 간단히 말해 고급 버전의 CSS 언어이며, Flarum의 CSS는 모두 Less로 생성됩니다). 플러그인을 켜거나 끈 후 스타일에 오류가 발생하면 이 폴더 안의 모든 파일을 삭제해 볼 수 있습니다.
- locale:중국어로 전환한 후 제목과 버튼 등이 모두 xx.xxxx.xxxx로 표시된다면 다른 생각을 할 필요 없이 이 폴더 안의 파일을 모두 삭제하면 됩니다. 이 폴더는 언어 파일을 캐시하는 데 사용됩니다.
- tmp:포럼의 임시 캐시로, 정상적인 경우 자동으로 정리됩니다.
- views:CSS, HTML 등의 내용을 포함하는 뷰 캐시입니다.
브라우저 캐시
자세히 소개할 필요는 없지만, 기본적으로 캐시를 정리할 때마다 Ctrl + F5를 눌러 브라우저 페이지를 새로 고쳐야 합니다. Flarum은 수정 후 브라우저 캐시를 동기화하여 업데이트하지 않기 때문입니다.
정리: Flarum에서 이처럼 많은 문제가 발생하는 주요 원인은 역시 Flarum의 캐시 메커니즘입니다. 캐시가 저장되는 곳이 많고, 여러 캐시가 다양한 문제로 인해 동기화되어 새로 고쳐지지 않을 수 있습니다. 물론 포럼을 설치한 후 관리자 설정(특히 플러그인 활성화/비활성화 또는 플러그인 설정)을 변경하지 않는다면 Flarum은 여전히 매우 안정적입니다.