CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 8.3 |
라이믹스의 서버를 이전하는데 보이는 에러 코드입니다. php7.4 서버에서 php8.3 서버로 옮기는 중입니다. 에러 코드는 아래와 같습니다. 옮기려는 서버의 버전을 이전 처럼 php7.4 로 변경을 해야 방법을 좀 될지 아니면 마이그레이션 툴을 사용해야 하는지?알려 주시면 감사하겠습니다. 하는 것이 최선인지요?
얼마전 서버 회사에서 임의로 php 버전을 7.4 에서 8.1로 변경해서 로그인 화면에서 에러가 나서 다시 php 버전을 이전으로 고치니 문제가 없어졌습니다. 이제 서버를 이전할려는데 쉽지 않군요. 옮기려는 새 서버의 php 버전을 이전 서버와 같이 낮추고 라이믹스 사이트 이전을 해야 합니까? 아니면 현 서버의 php 버전을 업그레이드 해 보는 것이 우선인지?
전문 프로그래머들에게 의뢰하는 방법외에는 방법이 없을까요? 어떤 분들은 라이믹스 이전에 성공했다고 해서 따라 해 보았는데....라이믹스 서버 이전 방법이 소개 된 것이 있으면 공유 부탁드립니다. 미리 감사드립니다.
----------------------------------------------------------------------------
아래 에러 코드는 이제 나오지 않는 것 같습니다.
Fatal error: Uncaught Rhymix\Framework\Exception: Cannot write template cache file: /var/www/gyoo3/files/cache/template/modules/message/skins/xedition/system_message.html.compiled.php in /var/www/gyoo3/common/framework/Template.php:371 Stack trace: #0 /var/www/gyoo3/classes/display/HTMLDisplayHandler.php(98): Rhymix\Framework\Template->compile() #1 /var/www/gyoo3/classes/display/DisplayHandler.class.php(66): HTMLDisplayHandler->toDoc() #2 /var/www/gyoo3/classes/module/ModuleHandler.class.php(1201): DisplayHandler->printContent() #3 /var/www/gyoo3/classes/context/Context.class.php(1671): ModuleHandler->displayContent() #4 /var/www/gyoo3/common/framework/Debug.php(787): Context::displayErrorPage() #5 /var/www/gyoo3/common/framework/Debug.php(660): Rhymix\Framework\Debug::displayErrorScreen() #6 [internal function]: Rhymix\Framework\Debug::exceptionHandler() #7 {main} thrown in /var/www/gyoo3/common/framework/Template.php on line 371
Fatal error: Uncaught Rhymix\Framework\Exception: Cannot write template cache file: /var/www/gyoo3/files/cache/template/modules/message/skins/xedition/system_message.html.compiled.php in /var/www/gyoo3/common/framework/Template.php:371 Stack trace: #0 /var/www/gyoo3/classes/display/HTMLDisplayHandler.php(98): Rhymix\Framework\Template->compile() #1 /var/www/gyoo3/classes/display/DisplayHandler.class.php(66): HTMLDisplayHandler->toDoc() #2 /var/www/gyoo3/classes/module/ModuleHandler.class.php(1201): DisplayHandler->printContent() #3 /var/www/gyoo3/classes/context/Context.class.php(1671): ModuleHandler->displayContent() #4 /var/www/gyoo3/common/framework/Debug.php(787): Context::displayErrorPage() #5 /var/www/gyoo3/common/framework/Debug.php(690): Rhymix\Framework\Debug::displayErrorScreen() #6 [internal function]: Rhymix\Framework\Debug::shutdownHandler() #7 {main} thrown in /var/www/gyoo3/common/framework/Template.php on line 371
댓글 7
Fatal error: Uncaught Rhymix\Framework\Exception: Cannot write template cache file
라고 나와있네요.
files 폴더 권한 체크는 해보셨나요?
PHP 버전 업데이트시 기존과 동일한 세팅이 정말로 맞을까요?
files 의 폴더 권한은 777 입니다.
PHP 세팅은 새로운 서버 세팅시 라이믹스에 꼭 필요한 PHP 익스텐션들을 설치해서 라이믹스 설치 가능이 되는 것을 확인했었는데 이전 서버의 PHP 세팅과 동일해야 하나요?
PHP 프로세스가 작동하는 유저 그리고 아래에 기진곰님이 적어주신 소유권 관련 문제로 보입니다.
files폴더 및 하위 폴더 권한 체크해보시고 소유권도 확인해보시는걸 권장합니다
SELINUX 때문에 생기는 퍼미션 문제일 수 있겠네요.
chcon -R -t httpd_sys_rw_content_t /var/www/gyoo3/
chcon -R -t httpd_sys_rw_content_t /var/www/gyoo3/
했는데도 별 효과가 없는 것 같습니다.
스케치북 레이 아웃 때문일지도 몰라 레이아웃을 기본으로 변경한 다음 시도도 해 보았지만 아직 별다른 반응이 없군요. ^^
PHP 버전 문제보다는 소유권이나 퍼미션 문제로 보입니다. Cannot write라잖아요.
files 폴더의 퍼미션만 말씀하셨는데, 그 아래에 있는 모든 하위 폴더와 소속 파일들에 일괄 적용해야 합니다.
사이트에 따라 수만 개, 수백만 개의 하위 폴더와 파일들이 있을 수도 있는데
그 중 하나라도 소유권이나 퍼미션이 맞지 않으면 언제 어디서 에러가 터질지 모릅니다.
(단독/가상서버라면 퍼미션 조정보다는 소유권 조정이 더 확실합니다.)
단, cache 폴더는 자동으로 생성되니, 그냥 지우는 것이 더 간편합니다.
마이그레이션 툴은 언급하지도 마세요. 부정타요...
소유권을 수정해보고 이전을 다시 시도해 보겠습니다. 질문의 답변에 글을 올려신 분들께 감사드립니다.