임베드 파싱 모듈 오브젝트 캐시 사용이 안 됩니다.
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.4 |
임베드 파싱 모듈의 오브젝트 캐시 사용이 아래와 같이 작동되지 않습니다.
물론 캐시 사용 설정은 apc로 한 상태입니다.
parserlink.admin.view.php 파일을 확인을 해보니
Context::set('object_cache_available', preg_match('/^(apc|file|memcache|redis|wincache|xcache|sqlite)/', Context::getDBInfo()->use_object_cache));
이 부분에서 Context::getDBInfo()->use_object_cache
를 불러와서
tpl/config.html 파일에서
<select name="use_cache" disabled="disabled"|cond="!$object_cache_available || $config->use_db_data !== 'yes'">
이렇게 disabled를 하는 것 같은데요.
그래서 debugPrint(Context::getDBInfo()->use_object_cache);
를 쳐보니
'' 로 나오네요. 분명히 캐시 설정은 제대로 해 놨는데 왜 이렇게 나오는 걸까요..?
댓글 8
라이믹스 2.0에서는 db.config.php 파일에 더이상 아무 것도 저장하지 않고, 해당 파일을 읽어오는 데 사용되던 Context::getDbInfo() 함수도 최소한의 호환성 유지를 위한 DB 접속 정보 외에는 제공하지 않습니다. 라이믹스만의 방식으로 설정을 저장하기 시작한 지 5년이 지났는데 아직도 오래된 설정파일을 찾아헤매고 있으면 곤란하죠...
config('cache.type') 으로 대체하시면 될 것 같습니다.
Context::set('object_cache_available', preg_match('/^(apc|file|memcache|redis|wincache|xcache|sqlite)/'), config('cache.type'));
로 바꾸니 잘 나오네요. 답변 감사합니다!
parserlink.admin.view.php 파일의 23줄을 아래와 같이 수정하면 됩니다.
Context::set('object_cache_available', preg_match('/^(apc|file|memcache|redis|wincache|xcache|sqlite)/', config('cache.type')));
로그인을 해야만 작동을 하네요.
한번 찾아봐야겠네요.
숙제가 하나 생기네요. ^^*
공부하고 갑니다.