Q&A

임베드 파싱 모듈 오브젝트 캐시 사용이 안 됩니다.

2021.04.10 13:24
692
1
CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 7.4

임베드 파싱 모듈의 오브젝트 캐시 사용이 아래와 같이 작동되지 않습니다.

 

ob.png

 

물론 캐시 사용 설정은 apc로 한 상태입니다.

 

apc.png

 

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); 를 쳐보니 

 

debug.png

 

'' 로 나오네요. 분명히 캐시 설정은 제대로 해 놨는데 왜 이렇게 나오는 걸까요..?

댓글 8

  • 2021.04.10 13:30 #1553934

    라이믹스 2.0에서는 db.config.php 파일에 더이상 아무 것도 저장하지 않고, 해당 파일을 읽어오는 데 사용되던 Context::getDbInfo() 함수도 최소한의 호환성 유지를 위한 DB 접속 정보 외에는 제공하지 않습니다. 라이믹스만의 방식으로 설정을 저장하기 시작한 지 5년이 지났는데 아직도 오래된 설정파일을 찾아헤매고 있으면 곤란하죠...

     

    config('cache.type') 으로 대체하시면 될 것 같습니다.

  • 2021.04.10 13:39 #1553948
    그렇군요. 어쩐지..

    Context::set('object_cache_available', preg_match('/^(apc|file|memcache|redis|wincache|xcache|sqlite)/'), config('cache.type'));

    로 바꾸니 잘 나오네요. 답변 감사합니다!
  • 2021.04.10 13:41 #1553952
    스샷과 소스를 보니 개발자분도 라이믹스를 고려하신 모양인데, 내부적인 설정 불러오는 로직까지 라이믹스에 맞추지는 않으신 모양이네요.
  • 2021.04.10 13:46 #1553956
    위에 댓글에 오타가 있어서 수정합니다.

    parserlink.admin.view.php 파일의 23줄을 아래와 같이 수정하면 됩니다.

    Context::set('object_cache_available', preg_match('/^(apc|file|memcache|redis|wincache|xcache|sqlite)/', config('cache.type')));
  • 2021.04.11 22:15 #1554285
    하나코군님 임베드 파싱모듈이 로그인을 안하면 작동을 안하는 것인가요?
    로그인을 해야만 작동을 하네요.
  • 2021.04.12 04:06 #1554407
    로그인 안 해도 작동하는데요. 뭔가 잘못 세팅하신 게 아닐까요?
  • 2021.04.12 04:37 #1554416
    답변 감사합니다.
    한번 찾아봐야겠네요.
    숙제가 하나 생기네요. ^^*
  • 2021.04.10 16:26 #1554005
    기진곰님, 하나코군님 감사합니다.
    공부하고 갑니다.