서버이전 후 에러

Extra Form
PHP PHP 7.4
CMS Rhymix 2.1

서버환경을 변경하고 rhymix 순정을 깔고 정상작동을 확인한 후 기존 서버에서 파일을 백업하고

새로운 서버에 그 파일을 덮어 씌었는데요..

 

Error #0 "Call to undefined method Rhymix\Framework\Request::setAll()" in index.php on line 52 (via common/framework/Router.php on line 278)

 

모든 페이지에서 요런 에러가 뜹니다.

 

common/framework/Router.php을 지워버리니까 정상작동 되긴하는데요

파일을 보니 router.php와 Router.php가 두개가 있는거 같은데

그냥 삭제하고 정상작동하면 무시해도 되는걸까요?

 

  • profile

    순정을 깔고 다시 덮어씌우는 과정에서 대소문자 혼란이 생긴 것 같습니다. 파일명의 대소문자를 구분하는 운영체제와 그렇지 않은 운영체제 사이에서 파일을 복사하다 보면 가끔 이런 문제가 생겨요. 특히 시놀로지처럼 리눅스 기반인데 윈도우와 연동하는 것을 가정하고 설계된 시스템에서 이런 문제가 심합니다.

     

    이런 문제가 발생한 상황이라면 대문자 파일과 소문자 파일 중 어느 쪽이 최신 버전인지, 어느 쪽이 실제로 사용하시는 버전인지 알 수가 없습니다. 사실상 랜덤이예요. 즉, 서로 다른 버전의 라이믹스에서 나온 파일들을 섞어서 돌리고 계실 가능성이 높습니다. 그러니까 코어에 포함된 파일들끼리 서로 함수가 안 맞는다고 에러를 뿜는 것이지요.

     

    가장 간단한 해결책은 common 폴더만 삭제하고, 사용하시던 라이믹스 버전과 같은 순정 버전을 다운받아서 common 폴더를 다시 업로드하는 것입니다. 만약 관리자 화면 접근이 가능하다면 대시보드에서 불필요한 코어 파일 정리 기능을 사용할 수도 있지만, 대소문자 구분이 확실하지 않은 서버라면 이것도 오작동할 가능성이 있어요.

  • profile profile

    답변 감사합니다. ^^
    framework 폴더를 통으로 갈았습니다. ^^

     ㄴ 답글 보고 common 폴더를 통으로 다시 갈았습니다. ^^