Extra Form
PHP PHP 7.4
CMS Rhymix 2.x

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

 

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

 

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

  • profile

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

     

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

  • profile ?
    그렇군요. 어쩐지..

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

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

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

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